diff --git a/README.md b/README.md index 2a55c157..1a478c4f 100644 --- a/README.md +++ b/README.md @@ -6,39 +6,44 @@ 都有些什么功能?我也不想写一大堆,自己体验吧! +帐号:100015@163.com / 123456 (前后台通用) + PS:**系统后台已禁止提交并隐藏私人配置** - [前台演示](https://ctc.koogua.com) - [后台演示](https://ctc.koogua.com/admin) -- [系统截图](https://gitee.com/koogua/course-tencent-cloud/wikis/系统截图) - -体验帐号: 100015@163.com / 123456 #### 项目组件 - 后台框架:[phalcon 3.4.5](https://phalcon.io) - 前端框架:[layui 2.5.6](https://layui.com), [layim 3.9.5](https://www.layui.com/layim)(已授权) +- 全文检索:[xunsearch 1.4.9](http://www.xunsearch.com) - 即时通讯:[workerman 3.5.22](https://workerman.net) - 其它依赖:[php7.3](https://php.net), [mysql5.7](https://mysql.com), [redis5.0](https://redis.io) #### 使用协议 -虽然尝试了解开源协议,但是似乎不得要领,干脆用自己的协议吧,算不算开源我也不很清楚。 +虽然尝试了解过开源协议,但是理解的模棱两可,干脆用自己的协议吧,算不算开源我也不很清楚。 1. 本系统属于强业务类型,非通用类库框架,不适合再次衍生发布。 2. 在保留我们版权标识的前提下,用户可以修改以满足自己的需求,可以用于商业用途。 3. 有限社区支持,用户对自己的行为负责。 +#### 安装指南 + +- [运行环境搭建](https://gitee.com/koogua/course-tencent-cloud-docker) +- [系统服务配置](https://gitee.com/koogua/course-tencent-cloud/wikis/服务配置) + #### 会推出商业服务吗? - 如果不符合您对“开源”的认知,请移步其它同类产品,毕竟同类“免费”产品也很多。 -- 如果“开源”版本不能满足您的需求,或者您更希望有更好的支持,商业服务是不错的选择。 +- 如果“开源”版本不能满足您的需求,或者您希望有更好的支持,商业服务是不错的选择。 -我们目前提供的服务: +我们为用户提供的服务包括: -- 安装服务 -- 会员服务 -- 定制服务 +- 系统安装 +- 系统定制 +- 企业会员 #### 会有阿里云版吗? @@ -50,11 +55,9 @@ PS:**系统后台已禁止提交并隐藏私人配置** #### 通过这个项目能学到什么? -把所有代码看完,希望对你有启发。把各个环节跑通,会引出很多知识。 - -1. 项目规划,phalcon实战,缓存,JWT,websocket即时通讯 -2. docker操作,docker服务编排 -3. git,linux,php,mysql,redis,nginx ... +1. 项目规划,phalcon实战,缓存,JWT,即时通讯,全文检索 +2. docker操作,docker服务编排,supervisor,devops +3. git,linux,php,mysql,redis,nginx #### 开发计划 diff --git a/app/Builders/ConsultList.php b/app/Builders/ConsultList.php index c74407bd..2223f559 100644 --- a/app/Builders/ConsultList.php +++ b/app/Builders/ConsultList.php @@ -73,7 +73,7 @@ class ConsultList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/CourseFavoriteList.php b/app/Builders/CourseFavoriteList.php index 9d196641..a516a3a4 100644 --- a/app/Builders/CourseFavoriteList.php +++ b/app/Builders/CourseFavoriteList.php @@ -45,7 +45,7 @@ class CourseFavoriteList extends Builder $courses = $courseRepo->findByIds($ids, $columns); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; @@ -69,7 +69,7 @@ class CourseFavoriteList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/CourseList.php b/app/Builders/CourseList.php index 17659789..667de997 100644 --- a/app/Builders/CourseList.php +++ b/app/Builders/CourseList.php @@ -61,7 +61,7 @@ class CourseList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/CourseTopicList.php b/app/Builders/CourseTopicList.php index 8ae453d8..0d7ebd46 100644 --- a/app/Builders/CourseTopicList.php +++ b/app/Builders/CourseTopicList.php @@ -45,7 +45,7 @@ class CourseTopicList extends Builder $courses = $courseRepo->findByIds($ids, $columns); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/CourseUserList.php b/app/Builders/CourseUserList.php index 153dd22c..b1579725 100644 --- a/app/Builders/CourseUserList.php +++ b/app/Builders/CourseUserList.php @@ -45,7 +45,7 @@ class CourseUserList extends Builder $courses = $courseRepo->findByIds($ids, $columns); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; @@ -66,7 +66,7 @@ class CourseUserList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/DanmuList.php b/app/Builders/DanmuList.php index 0886ed9c..59fa36cb 100644 --- a/app/Builders/DanmuList.php +++ b/app/Builders/DanmuList.php @@ -84,7 +84,7 @@ class DanmuList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/ImFriendUserList.php b/app/Builders/ImFriendUserList.php index f8a39826..50d69ce7 100644 --- a/app/Builders/ImFriendUserList.php +++ b/app/Builders/ImFriendUserList.php @@ -31,7 +31,7 @@ class ImFriendUserList extends Builder $users = $userRepo->findByIds($ids, $columns); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/ImGroupList.php b/app/Builders/ImGroupList.php index 7f779425..39316477 100644 --- a/app/Builders/ImGroupList.php +++ b/app/Builders/ImGroupList.php @@ -55,7 +55,7 @@ class ImGroupList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/ImGroupUserList.php b/app/Builders/ImGroupUserList.php index 4947f967..dafe443f 100644 --- a/app/Builders/ImGroupUserList.php +++ b/app/Builders/ImGroupUserList.php @@ -40,7 +40,7 @@ class ImGroupUserList extends Builder $users = $userRepo->findByIds($ids, $columns); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; @@ -64,7 +64,7 @@ class ImGroupUserList extends Builder $users = $this->getGroupOwners($groups->toArray()); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/ImMessageList.php b/app/Builders/ImMessageList.php index 486feb25..0c394cc6 100644 --- a/app/Builders/ImMessageList.php +++ b/app/Builders/ImMessageList.php @@ -26,7 +26,7 @@ class ImMessageList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/OrderList.php b/app/Builders/OrderList.php index 18caf72b..5a5a2ff6 100644 --- a/app/Builders/OrderList.php +++ b/app/Builders/OrderList.php @@ -12,7 +12,7 @@ class OrderList extends Builder public function __construct() { - $this->imgBaseUrl = kg_ci_base_url(); + $this->imgBaseUrl = kg_ss_url(); } /** diff --git a/app/Builders/ReviewList.php b/app/Builders/ReviewList.php index a78a1f65..e16f430b 100644 --- a/app/Builders/ReviewList.php +++ b/app/Builders/ReviewList.php @@ -55,7 +55,7 @@ class ReviewList extends Builder $users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; diff --git a/app/Builders/UserList.php b/app/Builders/UserList.php index b033ec1b..4731773e 100644 --- a/app/Builders/UserList.php +++ b/app/Builders/UserList.php @@ -10,7 +10,7 @@ class UserList extends Builder public function handleUsers(array $users) { - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); foreach ($users as $key => $user) { $users[$key]['avatar'] = $baseUrl . $user['avatar']; diff --git a/app/Console/Tasks/CleanSessionTask.php b/app/Console/Tasks/CleanSessionTask.php index a7140a1b..2be57e51 100644 --- a/app/Console/Tasks/CleanSessionTask.php +++ b/app/Console/Tasks/CleanSessionTask.php @@ -4,39 +4,32 @@ namespace App\Console\Tasks; use App\Library\Cache\Backend\Redis as RedisCache; use Phalcon\Cli\Task; +use Phalcon\Config; class CleanSessionTask extends Task { - /** - * @var RedisCache - */ - protected $cache; - - /** - * @var \Redis - */ - protected $redis; - public function mainAction() { - $this->cache = $this->getDI()->get('cache'); + $config = $this->getConfig(); - $this->redis = $this->cache->getRedis(); + $cache = $this->getCache(); + + $redis = $cache->getRedis(); + + $redis->select($config->path('session.db')); $keys = $this->querySessionKeys(10000); if (count($keys) == 0) return; - $config = $this->getDI()->get('config'); - - $lifetime = $config->session->lifetime; + $lifetime = $config->path('session.lifetime'); foreach ($keys as $key) { - $ttl = $this->redis->ttl($key); - $content = $this->redis->get($key); + $ttl = $redis->ttl($key); + $content = $redis->get($key); if (empty($content) && $ttl < $lifetime * 0.5) { - $this->redis->del($key); + $redis->del($key); } } } @@ -49,7 +42,29 @@ class CleanSessionTask extends Task */ protected function querySessionKeys($limit) { - return $this->cache->queryKeys('_PHCR', $limit); + $cache = $this->getCache(); + + return $cache->queryKeys('_PHCR', $limit); + } + + protected function getConfig() + { + /** + * @var Config $config + */ + $config = $this->getDI()->get('config'); + + return $config; + } + + protected function getCache() + { + /** + * @var RedisCache $cache + */ + $cache = $this->getDI()->get('cache'); + + return $cache; } } diff --git a/app/Http/Admin/Controllers/ChapterController.php b/app/Http/Admin/Controllers/ChapterController.php index 755c9ba1..bbef2879 100644 --- a/app/Http/Admin/Controllers/ChapterController.php +++ b/app/Http/Admin/Controllers/ChapterController.php @@ -5,7 +5,6 @@ namespace App\Http\Admin\Controllers; use App\Http\Admin\Services\Chapter as ChapterService; use App\Http\Admin\Services\ChapterContent as ChapterContentService; use App\Http\Admin\Services\Course as CourseService; -use App\Http\Admin\Services\Setting as SettingService; use App\Models\Course as CourseModel; /** @@ -86,13 +85,10 @@ class ChapterController extends Controller $contentService = new ChapterContentService(); $chapterService = new ChapterService(); $courseService = new CourseService(); - $settingService = new SettingService(); $chapter = $chapterService->getChapter($id); $course = $courseService->getCourse($chapter->course_id); - $storage = $settingService->getSectionSettings('storage'); - $this->view->setVar('storage', $storage); $this->view->setVar('chapter', $chapter); $this->view->setVar('course', $course); diff --git a/app/Http/Admin/Controllers/SettingController.php b/app/Http/Admin/Controllers/SettingController.php index c06cf6d6..1531065b 100644 --- a/app/Http/Admin/Controllers/SettingController.php +++ b/app/Http/Admin/Controllers/SettingController.php @@ -31,7 +31,7 @@ class SettingController extends Controller $site = $settingService->getSectionSettings($section); - $site['base_url'] = $site['base_url'] ?: kg_site_base_url(); + $site['url'] = $site['url'] ?: kg_site_url(); $this->view->setVar('site', $site); } @@ -67,7 +67,7 @@ class SettingController extends Controller */ public function storageAction() { - $section = 'storage'; + $section = 'cos'; $settingService = new SettingService(); @@ -81,9 +81,9 @@ class SettingController extends Controller } else { - $storage = $settingService->getSectionSettings($section); + $cos = $settingService->getSectionSettings($section); - $this->view->setVar('storage', $storage); + $this->view->setVar('cos', $cos); } } diff --git a/app/Http/Admin/Controllers/UploadController.php b/app/Http/Admin/Controllers/UploadController.php index f7ab899f..eb251179 100644 --- a/app/Http/Admin/Controllers/UploadController.php +++ b/app/Http/Admin/Controllers/UploadController.php @@ -22,7 +22,7 @@ class UploadController extends Controller if ($file) { return $this->jsonSuccess([ 'data' => [ - 'src' => $service->getCiImageUrl($file->path), + 'src' => $service->getImageUrl($file->path), 'title' => $file->name, ] ]); @@ -43,7 +43,7 @@ class UploadController extends Controller if ($file) { return $this->jsonSuccess([ 'data' => [ - 'src' => $service->getCiImageUrl($file->path), + 'src' => $service->getImageUrl($file->path), 'title' => $file->name, ] ]); @@ -64,7 +64,7 @@ class UploadController extends Controller if ($file) { return $this->jsonSuccess([ 'data' => [ - 'src' => $service->getCiImageUrl($file->path), + 'src' => $service->getImageUrl($file->path), 'title' => $file->name, ] ]); diff --git a/app/Http/Admin/Services/Setting.php b/app/Http/Admin/Services/Setting.php index 68b7709c..dfc4b47b 100644 --- a/app/Http/Admin/Services/Setting.php +++ b/app/Http/Admin/Services/Setting.php @@ -94,12 +94,8 @@ class Setting extends Service { $protocol = ['http://', 'https://']; - if (isset($settings['bucket_domain'])) { - $settings['bucket_domain'] = str_replace($protocol, '', $settings['bucket_domain']); - } - - if (isset($settings['ci_domain'])) { - $settings['ci_domain'] = str_replace($protocol, '', $settings['ci_domain']); + if (isset($settings['domain'])) { + $settings['domain'] = str_replace($protocol, '', $settings['domain']); } $this->updateSectionSettings($section, $settings); @@ -114,12 +110,10 @@ class Setting extends Service { $protocol = ['http://', 'https://']; - if (isset($settings['push_domain'])) { - $settings['push_domain'] = str_replace($protocol, '', $settings['push_domain']); - } - - if (isset($settings['pull_domain'])) { - $settings['pull_domain'] = str_replace($protocol, '', $settings['pull_domain']); + if (in_array($section, ['live.push', 'live.pull'])) { + if (isset($settings['domain'])) { + $settings['domain'] = str_replace($protocol, '', $settings['domain']); + } } $this->updateSectionSettings($section, $settings); diff --git a/app/Http/Admin/Views/chapter/edit_lesson.volt b/app/Http/Admin/Views/chapter/edit_lesson.volt index 9b30eba6..802c973e 100644 --- a/app/Http/Admin/Views/chapter/edit_lesson.volt +++ b/app/Http/Admin/Views/chapter/edit_lesson.volt @@ -26,11 +26,11 @@ {{ partial('chapter/edit_lesson_basic') }}
- {% if course.model == '1' %} + {% if course.model == 1 %} {{ partial('chapter/edit_lesson_vod') }} - {% elseif course.model == '2' %} + {% elseif course.model == 2 %} {{ partial('chapter/edit_lesson_live') }} - {% elseif course.model == '3' %} + {% elseif course.model == 3 %} {{ partial('chapter/edit_lesson_read') }} {% endif %}
diff --git a/app/Http/Admin/Views/im/group/list.volt b/app/Http/Admin/Views/im/group/list.volt index 1998f9dc..d304bba3 100644 --- a/app/Http/Admin/Views/im/group/list.volt +++ b/app/Http/Admin/Views/im/group/list.volt @@ -49,13 +49,14 @@ {% for item in pager.items %} + {% set preview_url = url({'for':'desktop.group.show','id':item.id}) %} {% set edit_url = url({'for':'admin.group.edit','id':item.id}) %} {% set update_url = url({'for':'admin.group.update','id':item.id}) %} {% set delete_url = url({'for':'admin.group.delete','id':item.id}) %} {% set restore_url = url({'for':'admin.group.restore','id':item.id}) %} {{ item.id }} - {{ item.name }} {{ type_info(item.type) }} + {{ item.name }} {{ type_info(item.type) }} {{ owner_info(item.owner) }} {{ item.user_count }} @@ -63,6 +64,7 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
模板名称模板描述视频码率(kbps)视频高度(px)
fd流畅500540
sd标清1000720
hd高清20001080
-
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
模板名称模板描述视频码率(kbps)视频高度(px)
fd流畅500540
sd标清1000720
hd高清20001080
+
diff --git a/app/Http/Admin/Views/setting/site.volt b/app/Http/Admin/Views/setting/site.volt index 14aa3ab6..bed80a89 100644 --- a/app/Http/Admin/Views/setting/site.volt +++ b/app/Http/Admin/Views/setting/site.volt @@ -32,7 +32,7 @@
- +
diff --git a/app/Http/Admin/Views/setting/storage.volt b/app/Http/Admin/Views/setting/storage.volt index ab95b869..ced0f8ca 100644 --- a/app/Http/Admin/Views/setting/storage.volt +++ b/app/Http/Admin/Views/setting/storage.volt @@ -9,43 +9,58 @@
- +
- +
- - + +
- +
- 数据万象 + 图片处理样式
- -
- - -
-
-
- -
- -
+ + + + + + + + + + + + + + + + + + + + + + + + + +
样式名称样式描述
avatar_160imageMogr2/thumbnail/160x/interlace/0
cover_270mageMogr2/thumbnail/270x/interlace/0
carousel_1100imageMogr2/thumbnail/1100x/interlace/0
diff --git a/app/Http/Admin/Views/student/search.volt b/app/Http/Admin/Views/student/search.volt index a64171e6..673da0d3 100644 --- a/app/Http/Admin/Views/student/search.volt +++ b/app/Http/Admin/Views/student/search.volt @@ -25,7 +25,8 @@
- + +
diff --git a/app/Http/Desktop/Controllers/ImSummaryController.php b/app/Http/Desktop/Controllers/ImSummaryController.php deleted file mode 100644 index 04a7967d..00000000 --- a/app/Http/Desktop/Controllers/ImSummaryController.php +++ /dev/null @@ -1,35 +0,0 @@ -seo->prependTitle('群组'); - } - - /** - * @Get("/active/users", name="desktop.im.active_users") - */ - public function activeUsersAction() - { - $this->seo->prependTitle('群组'); - } - - /** - * @Get("/online/users", name="desktop.im.online_users") - */ - public function onlineUsersAction() - { - $this->seo->prependTitle('群组'); - } - -} diff --git a/app/Http/Desktop/Controllers/MyController.php b/app/Http/Desktop/Controllers/MyController.php index e9581bb5..8334d646 100644 --- a/app/Http/Desktop/Controllers/MyController.php +++ b/app/Http/Desktop/Controllers/MyController.php @@ -151,14 +151,14 @@ class MyController extends Controller */ public function groupsAction() { - $type = $this->request->getQuery('type', 'trim', 'joined'); + $scope = $this->request->getQuery('scope', 'trim', 'joined'); $service = new MyGroupListService(); - $pager = $service->handle($type); + $pager = $service->handle($scope); $this->view->pick('my/groups'); - $this->view->setVar('type', $type); + $this->view->setVar('scope', $scope); $this->view->setVar('pager', $pager); } diff --git a/app/Http/Desktop/Controllers/PublicController.php b/app/Http/Desktop/Controllers/PublicController.php index b25eefac..b838cc5b 100644 --- a/app/Http/Desktop/Controllers/PublicController.php +++ b/app/Http/Desktop/Controllers/PublicController.php @@ -32,7 +32,7 @@ class PublicController extends \Phalcon\Mvc\Controller $service = new StorageService(); - $location = $service->getCiImageUrl($file->path); + $location = $service->getImageUrl($file->path); $this->response->redirect($location); diff --git a/app/Http/Desktop/Controllers/UploadController.php b/app/Http/Desktop/Controllers/UploadController.php index 062ceb20..d1d3453f 100644 --- a/app/Http/Desktop/Controllers/UploadController.php +++ b/app/Http/Desktop/Controllers/UploadController.php @@ -18,12 +18,15 @@ class UploadController extends Controller { $service = new StorageService(); - $key = $service->uploadAvatarImage(); + $file = $service->uploadAvatarImage(); - $url = $service->getCiImageUrl($key); - - if ($url) { - return $this->jsonSuccess(['data' => ['src' => $url, 'title' => '']]); + if ($file) { + return $this->jsonSuccess([ + 'data' => [ + 'src' => $service->getImageUrl($file->path), + 'title' => $file->name, + ] + ]); } else { return $this->jsonError(['msg' => '上传文件失败']); } diff --git a/app/Http/Desktop/Services/Im.php b/app/Http/Desktop/Services/Im.php index 240a16d7..251e0e2e 100644 --- a/app/Http/Desktop/Services/Im.php +++ b/app/Http/Desktop/Services/Im.php @@ -59,7 +59,7 @@ class Im extends Service return []; } - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $result = []; @@ -252,7 +252,7 @@ class Im extends Service $users = $userRepo->findByIds($ids); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $mapping = []; @@ -303,7 +303,7 @@ class Im extends Service $groups = $groupRepo->findByIds($ids); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $mapping = []; diff --git a/app/Http/Desktop/Services/ImGroup.php b/app/Http/Desktop/Services/ImGroup.php index f1002be8..ac3d9c4c 100644 --- a/app/Http/Desktop/Services/ImGroup.php +++ b/app/Http/Desktop/Services/ImGroup.php @@ -7,6 +7,7 @@ use App\Builders\ImGroupUserList as ImGroupUserListBuilder; use App\Caches\ImGroupActiveUserList as ImGroupActiveUserListCache; use App\Library\Paginator\Query as PagerQuery; use App\Models\ImGroup as ImGroupModel; +use App\Models\ImUser as ImUserModel; use App\Repos\ImGroup as ImGroupRepo; use App\Repos\ImGroupUser as ImGroupUserRepo; use App\Repos\User as UserRepo; @@ -138,11 +139,17 @@ class ImGroup extends Service $group = $validator->checkGroup($groupId); + $user = $validator->checkUser($userId); + $validator->checkOwner($loginUser->id, $group->owner_id); $groupUser = $validator->checkGroupUser($groupId, $userId); $groupUser->delete(); + + $this->decrGroupUserCount($group); + + $this->decrUserGroupCount($user); } protected function handleGroupUsers($pager) @@ -181,7 +188,7 @@ class ImGroup extends Service $users = $builder->getUsers($groups); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $items = []; @@ -207,4 +214,20 @@ class ImGroup extends Service return $pager; } + protected function decrGroupUserCount(ImGroupModel $group) + { + if ($group->user_count > 0) { + $group->user_count -= 1; + $group->update(); + } + } + + protected function decrUserGroupCount(ImUserModel $user) + { + if ($user->group_count > 0) { + $user->group_count -= 1; + $user->update(); + } + } + } diff --git a/app/Http/Desktop/Services/ImGroupTrait.php b/app/Http/Desktop/Services/ImGroupTrait.php index 789a0f4c..60cdd3c9 100644 --- a/app/Http/Desktop/Services/ImGroupTrait.php +++ b/app/Http/Desktop/Services/ImGroupTrait.php @@ -45,7 +45,7 @@ Trait ImGroupTrait $validator = new ImNoticeValidator(); - $notice = $validator->checkNotice($noticeId, 'system'); + $notice = $validator->checkNotice($noticeId); if ($notice->item_type != ImNoticeModel::TYPE_GROUP_REQUEST) { return; diff --git a/app/Http/Desktop/Views/course/list_filter.volt b/app/Http/Desktop/Views/course/list_filter.volt index 7461edfd..4f919e64 100644 --- a/app/Http/Desktop/Views/course/list_filter.volt +++ b/app/Http/Desktop/Views/course/list_filter.volt @@ -1,3 +1,9 @@ +{% set tc_val = request.get('tc','int','all') %} +{% set sc_val = request.get('sc','int','all') %} +{% set model_val = request.get('model','trim','all') %} +{% set level_val = request.get('level','trim','all') %} +{% set sort_val = request.get('sort','trim','score') %} +
@@ -6,7 +12,6 @@
方向
- {% set tc_val = request.get('tc','int','all') %} {% for category in top_categories %} {% set class = tc_val == category.id ? 'layui-btn layui-btn-xs' : 'none' %} {{ category.name }} @@ -17,7 +22,6 @@
分类
- {% set sc_val = request.get('sc','int','all') %} {% for category in sub_categories %} {% set class = sc_val == category.id ? 'layui-btn layui-btn-xs' : 'none' %} {{ category.name }} @@ -28,7 +32,6 @@
类型
- {% set model_val = request.get('model','trim','all') %} {% for model in models %} {% set class = model_val == model.id ? 'layui-btn layui-btn-xs' : 'none' %} {{ model.name }} @@ -38,7 +41,6 @@
难度
- {% set level_val = request.get('level','trim','all') %} {% for level in levels %} {% set class = level_val == level.id ? 'layui-btn layui-btn-xs' : 'none' %} {{ level.name }} @@ -48,7 +50,6 @@
- {% set sort_val = request.get('sort','trim','score') %} {% for sort in sorts %} {% set class = sort_val == sort.id ? 'layui-btn layui-btn-xs' : 'none' %} {{ sort.name }} diff --git a/app/Http/Desktop/Views/course/show_meta.volt b/app/Http/Desktop/Views/course/show_meta.volt index e33e996d..45d73bdf 100644 --- a/app/Http/Desktop/Views/course/show_meta.volt +++ b/app/Http/Desktop/Views/course/show_meta.volt @@ -33,24 +33,24 @@

难度级别{{ level_info(course.level) }} 学习人次{{ course.user_count }} - 综合评分{{ course.ratings.rating }} + 综合评分{{ "%0.1f"|format(course.ratings.rating) }}

内容实用 {{ star_info(course.ratings.rating1) }} - {{ course.ratings.rating1 }}分 + {{ "%0.1f"|format(course.ratings.rating1) }}分

简洁易懂 {{ star_info(course.ratings.rating2) }} - {{ course.ratings.rating2 }}分 + {{ "%0.1f"|format(course.ratings.rating2) }}分

逻辑清晰 {{ star_info(course.ratings.rating3) }} - {{ course.ratings.rating3 }}分 + {{ "%0.1f"|format(course.ratings.rating3) }}分

\ No newline at end of file diff --git a/app/Http/Desktop/Views/im/group/manage/edit.volt b/app/Http/Desktop/Views/im/group/manage/edit.volt index dca5c02f..92ab7093 100644 --- a/app/Http/Desktop/Views/im/group/manage/edit.volt +++ b/app/Http/Desktop/Views/im/group/manage/edit.volt @@ -2,8 +2,8 @@ {% block content %} - {% set update_url = url({'for':'desktop.group.update','id':group.id}) %} - {% set name_readonly = group.type == 'course' ? 'readonly="readonly"' : '' %} + {% set update_url = url({'for':'desktop.igm.update','id':group.id}) %} + {% set name_readonly = group.type == 1 ? 'readonly="readonly"' : '' %}
diff --git a/app/Http/Desktop/Views/im/group/pager.volt b/app/Http/Desktop/Views/im/group/pager.volt index f2c147bc..de0ffd57 100644 --- a/app/Http/Desktop/Views/im/group/pager.volt +++ b/app/Http/Desktop/Views/im/group/pager.volt @@ -11,7 +11,7 @@ {{ type_info(item.type) }}
diff --git a/app/Http/Desktop/Views/im/index_groups.volt b/app/Http/Desktop/Views/im/index_groups.volt index f05bb731..ee9f34b8 100644 --- a/app/Http/Desktop/Views/im/index_groups.volt +++ b/app/Http/Desktop/Views/im/index_groups.volt @@ -8,7 +8,7 @@ {{ type_info(group.type) }}
diff --git a/app/Http/Desktop/Views/im/index_users.volt b/app/Http/Desktop/Views/im/index_users.volt index 7515629b..ebf8c60e 100644 --- a/app/Http/Desktop/Views/im/index_users.volt +++ b/app/Http/Desktop/Views/im/index_users.volt @@ -9,7 +9,7 @@ {{ vip_info(user.vip) }}
diff --git a/app/Http/Desktop/Views/im/notice.volt b/app/Http/Desktop/Views/im/notice.volt index 171be13c..8e25d410 100644 --- a/app/Http/Desktop/Views/im/notice.volt +++ b/app/Http/Desktop/Views/im/notice.volt @@ -5,7 +5,7 @@ {% set sender = item_info.sender %} {% set sender_url = url({'for':'desktop.user.show','id':sender.id}) %} - {% if item_type == '1' %} + {% if item_type == 1 %} {% set group = item_info.group %} {% set remark = item_info.remark ? '附言:' ~ item_info.remark : '' %}
  • @@ -26,7 +26,7 @@ {% endif %}

  • - {% elseif item_type == '2' %} + {% elseif item_type == 2 %}
  • 系统: @@ -34,7 +34,7 @@ 接受了你的好友申请{{ item.create_time|time_ago }}

  • - {% elseif item_type == '3' %} + {% elseif item_type == 3 %}
  • 系统: @@ -42,7 +42,7 @@ 拒绝了你的好友申请{{ item.create_time|time_ago }}

  • - {% elseif item_type == '4' %} + {% elseif item_type == 4 %} {% set remark = item_info.remark ? '附言:' ~ item_info.remark : '' %}
  • {{ sender.name }} @@ -62,7 +62,7 @@ {% endif %}

  • - {% elseif item_type == '5' %} + {% elseif item_type == 5 %}
  • 系统: @@ -70,7 +70,7 @@ 接受了你的入群申请{{ item.create_time|time_ago }}

  • - {% elseif item_type == '6' %} + {% elseif item_type == 6 %}
  • 系统: diff --git a/app/Http/Desktop/Views/macros/consult.volt b/app/Http/Desktop/Views/macros/consult.volt new file mode 100644 index 00000000..fea654b5 --- /dev/null +++ b/app/Http/Desktop/Views/macros/consult.volt @@ -0,0 +1,9 @@ +{%- macro priority_info(value) %} + {% if value == 10 %} + + {% elseif value == 20 %} + + {% elseif value == 30 %} + + {% endif %} +{%- endmacro %} \ No newline at end of file diff --git a/app/Http/Desktop/Views/macros/group.volt b/app/Http/Desktop/Views/macros/group.volt index f4ca289b..33fa8905 100644 --- a/app/Http/Desktop/Views/macros/group.volt +++ b/app/Http/Desktop/Views/macros/group.volt @@ -1,9 +1,9 @@ {%- macro type_info(value) %} - {% if value == '1' %} + {% if value == 1 %} - {% elseif value == '2' %} + {% elseif value == 2 %} - {% elseif value == '3' %} + {% elseif value == 3 %} {% endif %} {%- endmacro %} \ No newline at end of file diff --git a/app/Http/Desktop/Views/my/consults.volt b/app/Http/Desktop/Views/my/consults.volt index 2ca3ba83..e77447f7 100644 --- a/app/Http/Desktop/Views/my/consults.volt +++ b/app/Http/Desktop/Views/my/consults.volt @@ -33,8 +33,8 @@ {% set delete_url = url({'for':'desktop.consult.delete','id':item.id}) %} -

    提问:{{ item.question }}

    -

    回复:{{ item.answer }}

    +

    提问:{{ item.question }}

    +

    回复:{{ item.answer }}

    {{ date('Y-m-d',item.create_time) }} diff --git a/app/Http/Desktop/Views/my/favorites.volt b/app/Http/Desktop/Views/my/favorites.volt index 6753e3c6..38019bb4 100644 --- a/app/Http/Desktop/Views/my/favorites.volt +++ b/app/Http/Desktop/Views/my/favorites.volt @@ -37,7 +37,7 @@ {{ item.title }} {{ model_info(item.model) }} {{ item.user_count }} {{ item.favorite_count }} - {{ item.rating }} + {{ "%0.1f"|format(item.rating) }} diff --git a/app/Http/Desktop/Views/my/friends.volt b/app/Http/Desktop/Views/my/friends.volt index adcc3b31..9b99c5de 100644 --- a/app/Http/Desktop/Views/my/friends.volt +++ b/app/Http/Desktop/Views/my/friends.volt @@ -44,7 +44,7 @@ {{ item.name }} {{ gender_info(item.gender) }} - {{ item.location }} + {{ item.area }} {{ item.active_time|time_ago }} diff --git a/app/Http/Desktop/Views/my/groups.volt b/app/Http/Desktop/Views/my/groups.volt index 4ccb47f6..7520087a 100644 --- a/app/Http/Desktop/Views/my/groups.volt +++ b/app/Http/Desktop/Views/my/groups.volt @@ -2,18 +2,12 @@ {% block content %} - {%- macro type_info(value) %} - {% if value == 'course' %} - - {% elseif value == 'chat' %} - - {% endif %} - {%- endmacro %} + {{ partial('macros/group') }} - {% set joined_url = url({'for':'desktop.my.groups'},{'type':'joined'}) %} - {% set owned_url = url({'for':'desktop.my.groups'},{'type':'owned'}) %} - {% set joined_class = type == 'joined' ? 'layui-btn layui-btn-xs' : 'none' %} - {% set owned_class = type == 'owned' ? 'layui-btn layui-btn-xs' : 'none' %} + {% set joined_url = url({'for':'desktop.my.groups'},{'scope':'joined'}) %} + {% set owned_url = url({'for':'desktop.my.groups'},{'scope':'owned'}) %} + {% set joined_class = scope == 'joined' ? 'layui-btn layui-btn-xs' : 'none' %} + {% set owned_class = scope == 'owned' ? 'layui-btn layui-btn-xs' : 'none' %}
    {{ partial('my/menu') }}
    @@ -24,7 +18,7 @@ 管理的
    - {% if type == 'owned' %} + {% if scope == 'owned' %} {{ partial('my/groups_owned') }} {% else %} {{ partial('my/groups_joined') }} diff --git a/app/Http/Desktop/Views/my/groups_joined.volt b/app/Http/Desktop/Views/my/groups_joined.volt index aec66dac..fbe983fa 100644 --- a/app/Http/Desktop/Views/my/groups_joined.volt +++ b/app/Http/Desktop/Views/my/groups_joined.volt @@ -16,10 +16,11 @@ {% for item in pager.items %} + {% set show_url = url({'for':'desktop.group.show','id':item.id}) %} {% set owner_url = url({'for':'desktop.user.show','id':item.owner.id}) %} {% set delete_url = url({'for':'desktop.im.quit_group','id':item.id}) %} - {{ item.name }} {{ type_info(item.type) }} + {{ item.name }} {{ type_info(item.type) }} {{ item.owner.name }} {{ item.user_count }} diff --git a/app/Http/Desktop/Views/my/reviews.volt b/app/Http/Desktop/Views/my/reviews.volt index 799c5afb..544e65ca 100644 --- a/app/Http/Desktop/Views/my/reviews.volt +++ b/app/Http/Desktop/Views/my/reviews.volt @@ -36,9 +36,9 @@

    评价:{{ item.content }}

    -

    内容实用:{{ item.rating1 }}

    -

    通俗易懂:{{ item.rating2 }}

    -

    逻辑清晰:{{ item.rating3 }}

    +

    内容实用:{{ "%0.1f"|format(item.rating1) }}

    +

    通俗易懂:{{ "%0.1f"|format(item.rating2) }}

    +

    逻辑清晰:{{ "%0.1f"|format(item.rating3) }}

    diff --git a/app/Http/Desktop/Views/teacher/pager.volt b/app/Http/Desktop/Views/teacher/pager.volt index 5c145780..63dfb7ae 100644 --- a/app/Http/Desktop/Views/teacher/pager.volt +++ b/app/Http/Desktop/Views/teacher/pager.volt @@ -2,14 +2,14 @@
    {% for item in pager.items %} - {% set item.title = item.title ? item.title : '暂露头角' %} + {% set item.title = item.title ? item.title : '小小教书匠' %} {% set item.about = item.about ? item.about : '这个人很懒,什么都没留下' %} {% set user_url = url({'for':'desktop.teacher.show','id':item.id}) %}
    diff --git a/app/Http/Desktop/Views/teaching/consults.volt b/app/Http/Desktop/Views/teaching/consults.volt index 1e7a72a8..811c0628 100644 --- a/app/Http/Desktop/Views/teaching/consults.volt +++ b/app/Http/Desktop/Views/teaching/consults.volt @@ -2,6 +2,8 @@ {% block content %} + {{ partial('macros/consult') }} + {% set status_types = {'all':'全部','pending':'待回复','replied':'已回复'} %} {% set status = request.get('status','trim','all') %} @@ -45,7 +47,7 @@

    提问:{{ item.question }}

    回复:{{ answer }}

    - {{ item.priority }} + {{ priority_info(item.priority) }} {{ date('Y-m-d',item.create_time) }} diff --git a/app/Http/Desktop/Views/teaching/courses.volt b/app/Http/Desktop/Views/teaching/courses.volt index 4b696999..71b55dd0 100644 --- a/app/Http/Desktop/Views/teaching/courses.volt +++ b/app/Http/Desktop/Views/teaching/courses.volt @@ -37,7 +37,7 @@ {{ item.lesson_count }} {{ item.user_count }} {{ item.favorite_count }} - {{ item.rating }} + {{ "%0.1f"|format(item.rating) }} {% endfor %} diff --git a/app/Http/Desktop/Views/vip/users.volt b/app/Http/Desktop/Views/vip/users.volt index 966fee38..0be0e6a1 100644 --- a/app/Http/Desktop/Views/vip/users.volt +++ b/app/Http/Desktop/Views/vip/users.volt @@ -12,7 +12,7 @@ {{ vip_info(item.vip) }}
    diff --git a/app/Library/Helper.php b/app/Library/Helper.php index 0ee934f5..5dd4b3b1 100644 --- a/app/Library/Helper.php +++ b/app/Library/Helper.php @@ -121,7 +121,7 @@ function kg_ip2region($ip, $dbFile = null) * * @return string */ -function kg_site_base_url() +function kg_site_url() { $scheme = filter_input(INPUT_SERVER, 'REQUEST_SCHEME'); $host = filter_input(INPUT_SERVER, 'HTTP_HOST'); @@ -168,25 +168,25 @@ function kg_default_cover_path() } /** - * 获取数据万象基准URL + * 获取存储基准URL * * @return string */ -function kg_ci_base_url() +function kg_ss_url() { $storage = new StorageService(); - return $storage->getCiBaseUrl(); + return $storage->getBaseUrl(); } /** - * 获取数据万象URL + * 获取存储图片URL * * @param string $path * @param string $style * @return string */ -function kg_ci_img_url($path, $style = null) +function kg_ss_img_url($path, $style = null) { if (!$path) return ''; @@ -196,35 +196,35 @@ function kg_ci_img_url($path, $style = null) $storage = new StorageService(); - return $storage->getCiImageUrl($path, $style); + return $storage->getImageUrl($path, $style); } /** - * 获取头像数据万象URL + * 获取头像URL * * @param string $path * @param string $style * @return string */ -function kg_ci_avatar_img_url($path, $style = null) +function kg_ss_avatar_url($path, $style = null) { $path = $path ?: kg_default_avatar_path(); - return kg_ci_img_url($path, $style); + return kg_ss_img_url($path, $style); } /** - * 获取封面数据万象URL + * 获取封面URL * * @param string $path * @param string $style * @return string */ -function kg_ci_cover_img_url($path, $style = null) +function kg_ss_cover_url($path, $style = null) { $path = $path ?: kg_default_cover_path(); - return kg_ci_img_url($path, $style); + return kg_ss_img_url($path, $style); } /** @@ -432,7 +432,7 @@ function kg_full_url($uri, $args = null) */ $url = Di::getDefault()->getShared('url'); - $baseUrl = kg_site_base_url(); + $baseUrl = kg_site_url(); return $baseUrl . $url->get($uri, $args); } \ No newline at end of file diff --git a/app/Models/Carousel.php b/app/Models/Carousel.php index 1b8c883b..91195f96 100644 --- a/app/Models/Carousel.php +++ b/app/Models/Carousel.php @@ -158,7 +158,7 @@ class Carousel extends Model public function afterFetch() { if (!Text::startsWith($this->cover, 'http')) { - $this->cover = kg_ci_cover_img_url($this->cover); + $this->cover = kg_ss_cover_url($this->cover); } if (is_string($this->style) && !empty($this->style)) { diff --git a/app/Models/Consult.php b/app/Models/Consult.php index affeddaf..a790c650 100644 --- a/app/Models/Consult.php +++ b/app/Models/Consult.php @@ -56,6 +56,13 @@ class Consult extends Model */ public $answer; + /** + * 评分 + * + * @var int + */ + public $rating; + /** * 优先级 * diff --git a/app/Models/Course.php b/app/Models/Course.php index 3c190525..360fd328 100644 --- a/app/Models/Course.php +++ b/app/Models/Course.php @@ -338,7 +338,7 @@ class Course extends Model $this->score = (float)$this->score; if (!Text::startsWith($this->cover, 'http')) { - $this->cover = kg_ci_cover_img_url($this->cover); + $this->cover = kg_ss_cover_url($this->cover); } if (is_string($this->attrs) && !empty($this->attrs)) { diff --git a/app/Models/ImGroup.php b/app/Models/ImGroup.php index 88b07f28..946df252 100644 --- a/app/Models/ImGroup.php +++ b/app/Models/ImGroup.php @@ -156,7 +156,7 @@ class ImGroup extends Model public function afterFetch() { if (!Text::startsWith($this->avatar, 'http')) { - $this->avatar = kg_ci_avatar_img_url($this->avatar); + $this->avatar = kg_ss_avatar_url($this->avatar); } } diff --git a/app/Models/ImNotice.php b/app/Models/ImNotice.php index 64d6fb37..612224b1 100644 --- a/app/Models/ImNotice.php +++ b/app/Models/ImNotice.php @@ -17,6 +17,13 @@ class ImNotice extends Model const TYPE_GROUP_ACCEPTED = 5; // 入群被接受 const TYPE_GROUP_REFUSED = 6; // 入群被拒绝 + /** + * 请求状态 + */ + const REQUEST_PENDING = 'pending'; // 待定 + const REQUEST_ACCEPTED = 'accepted'; // 接受 + const REQUEST_REFUSED = 'refused'; // 拒绝 + /** * 主键编号 * diff --git a/app/Models/ImUser.php b/app/Models/ImUser.php index 4b358218..9b4ed69f 100644 --- a/app/Models/ImUser.php +++ b/app/Models/ImUser.php @@ -133,7 +133,7 @@ class ImUser extends Model public function afterFetch() { if (!Text::startsWith($this->avatar, 'http')) { - $this->avatar = kg_ci_avatar_img_url($this->avatar); + $this->avatar = kg_ss_avatar_url($this->avatar); } } diff --git a/app/Models/User.php b/app/Models/User.php index a96ab300..4553cf2c 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -221,7 +221,7 @@ class User extends Model public function afterFetch() { if (!Text::startsWith($this->avatar, 'http')) { - $this->avatar = kg_ci_avatar_img_url($this->avatar); + $this->avatar = kg_ss_avatar_url($this->avatar); } } diff --git a/app/Providers/Volt.php b/app/Providers/Volt.php index ac767758..835c7af8 100644 --- a/app/Providers/Volt.php +++ b/app/Providers/Volt.php @@ -46,8 +46,8 @@ class Volt extends Provider return 'kg_js_include(' . $resolvedArgs . ')'; }); - $compiler->addFunction('ci_img_url', function ($resolvedArgs) { - return 'kg_ci_img_url(' . $resolvedArgs . ')'; + $compiler->addFunction('ss_img_url', function ($resolvedArgs) { + return 'kg_ss_img_url(' . $resolvedArgs . ')'; }); $compiler->addFunction('substr', function ($resolvedArgs) { diff --git a/app/Services/Frontend/Consult/ConsultInfo.php b/app/Services/Frontend/Consult/ConsultInfo.php index 3f889a04..bf6b00c2 100644 --- a/app/Services/Frontend/Consult/ConsultInfo.php +++ b/app/Services/Frontend/Consult/ConsultInfo.php @@ -27,8 +27,8 @@ class ConsultInfo extends FrontendService 'id' => $consult->id, 'question' => $consult->question, 'answer' => $consult->answer, - 'private' => $consult->private, 'rating' => $consult->rating, + 'private' => $consult->private, 'like_count' => $consult->like_count, 'create_time' => $consult->create_time, 'update_time' => $consult->update_time, diff --git a/app/Services/Frontend/Course/CourseList.php b/app/Services/Frontend/Course/CourseList.php index 2e681fb9..35e3b60a 100644 --- a/app/Services/Frontend/Course/CourseList.php +++ b/app/Services/Frontend/Course/CourseList.php @@ -57,7 +57,7 @@ class CourseList extends FrontendService $items = []; - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); foreach ($courses as $course) { diff --git a/app/Services/Frontend/Im/ImFriendDelete.php b/app/Services/Frontend/Im/ImFriendDelete.php deleted file mode 100644 index 6ad4ecc3..00000000 --- a/app/Services/Frontend/Im/ImFriendDelete.php +++ /dev/null @@ -1,24 +0,0 @@ -getLoginUser(); - - $validator = new ImFriendUserValidator(); - - $friend = $validator->checkFriend($id); - - $friendUser = $validator->checkFriendUser($user->id, $friend->id); - - $friendUser->delete(); - } - -} diff --git a/app/Services/Frontend/Im/ImGroupDelete.php b/app/Services/Frontend/Im/ImGroupDelete.php deleted file mode 100644 index 74e7712d..00000000 --- a/app/Services/Frontend/Im/ImGroupDelete.php +++ /dev/null @@ -1,44 +0,0 @@ -getLoginUser(); - - $validator = new ImGroupUserValidator(); - - $group = $validator->checkGroup($id); - - $groupUser = $validator->checkGroupUser($group->id, $user->id); - - $groupUser->delete(); - - $this->decrGroupUserCount($group); - } - - protected function decrGroupUserCount(ImGroupModel $group) - { - if ($group->user_count > 0) { - $group->user_count -= 1; - $group->update(); - } - } - - protected function decrUserGroupCount(ImUserModel $user) - { - if ($user->group_count > 0) { - $user->group_count -= 1; - $user->update(); - } - } - -} diff --git a/app/Services/Frontend/Im/ImGroupUserDelete.php b/app/Services/Frontend/Im/ImGroupUserDelete.php deleted file mode 100644 index 9087534d..00000000 --- a/app/Services/Frontend/Im/ImGroupUserDelete.php +++ /dev/null @@ -1,52 +0,0 @@ -request->getPost(); - - $loginUser = $this->getLoginUser(); - - $validator = new ImGroupUserValidator(); - - $group = $validator->checkGroup($post['group_id']); - - $user = $validator->checkUser($post['user_id']); - - $validator->checkOwner($group->owner_id, $loginUser->id); - - $groupUser = $validator->checkGroupUser($group->id, $user->id); - - $groupUser->delete(); - - $this->decrGroupUserCount($group); - - $this->decrUserGroupCount($user); - } - - protected function decrGroupUserCount(ImGroupModel $group) - { - if ($group->user_count > 0) { - $group->user_count -= 1; - $group->update(); - } - } - - protected function decrUserGroupCount(ImUserModel $user) - { - if ($user->group_count > 0) { - $user->group_count -= 1; - $user->update(); - } - } - -} diff --git a/app/Services/Frontend/My/GroupList.php b/app/Services/Frontend/My/GroupList.php index 407da39a..e399cad2 100644 --- a/app/Services/Frontend/My/GroupList.php +++ b/app/Services/Frontend/My/GroupList.php @@ -11,13 +11,13 @@ use App\Services\Frontend\User\GroupList as UserGroupListService; class GroupList extends FrontendService { - public function handle($type) + public function handle($scope) { $result = []; - if ($type == 'joined') { + if ($scope == 'joined') { $result = $this->handleJoinedGroups(); - } elseif ($type == 'owned') { + } elseif ($scope == 'owned') { $result = $this->handleOwnedGroups(); } @@ -62,7 +62,7 @@ class GroupList extends FrontendService $users = $builder->getUsers($groups); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $items = []; diff --git a/app/Services/Frontend/My/ProfileInfo.php b/app/Services/Frontend/My/ProfileInfo.php index 1486f3bd..7bf92074 100644 --- a/app/Services/Frontend/My/ProfileInfo.php +++ b/app/Services/Frontend/My/ProfileInfo.php @@ -17,7 +17,7 @@ class ProfileInfo extends FrontendService protected function handleUser(UserModel $user) { - $user->avatar = kg_ci_img_url($user->avatar); + $user->avatar = kg_ss_avatar_url($user->avatar); $user->area = $this->handleArea($user->area); diff --git a/app/Services/Frontend/Order/OrderInfo.php b/app/Services/Frontend/Order/OrderInfo.php index d0d30221..cad86657 100644 --- a/app/Services/Frontend/Order/OrderInfo.php +++ b/app/Services/Frontend/Order/OrderInfo.php @@ -91,14 +91,14 @@ class OrderInfo extends FrontendService protected function handleCourseInfo($itemInfo) { - $itemInfo['course']['cover'] = kg_ci_img_url($itemInfo['course']['cover']); + $itemInfo['course']['cover'] = kg_ss_cover_url($itemInfo['course']['cover']); return $itemInfo; } protected function handlePackageInfo($itemInfo) { - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); foreach ($itemInfo['courses'] as &$course) { $course['cover'] = $baseUrl . $course['cover']; diff --git a/app/Services/Frontend/Teacher/TeacherList.php b/app/Services/Frontend/Teacher/TeacherList.php index b300a1a8..79db1330 100644 --- a/app/Services/Frontend/Teacher/TeacherList.php +++ b/app/Services/Frontend/Teacher/TeacherList.php @@ -40,7 +40,7 @@ class TeacherList extends FrontendService $items = []; - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); foreach ($users as $user) { diff --git a/app/Services/Frontend/Teaching/CourseList.php b/app/Services/Frontend/Teaching/CourseList.php index d8c93650..ae2be19c 100644 --- a/app/Services/Frontend/Teaching/CourseList.php +++ b/app/Services/Frontend/Teaching/CourseList.php @@ -33,7 +33,7 @@ class CourseList extends FrontendService $items = []; - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); foreach ($pager->items->toArray() as $course) { diff --git a/app/Services/Frontend/Vip/CourseList.php b/app/Services/Frontend/Vip/CourseList.php index 0a9b6d1b..97258237 100644 --- a/app/Services/Frontend/Vip/CourseList.php +++ b/app/Services/Frontend/Vip/CourseList.php @@ -37,7 +37,7 @@ class CourseList extends FrontendService $courses = $pager->items->toArray(); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $items = []; diff --git a/app/Services/Frontend/Vip/UserList.php b/app/Services/Frontend/Vip/UserList.php index d282760a..145c9590 100644 --- a/app/Services/Frontend/Vip/UserList.php +++ b/app/Services/Frontend/Vip/UserList.php @@ -37,7 +37,7 @@ class UserList extends FrontendService $users = $pager->items->toArray(); - $baseUrl = kg_ci_base_url(); + $baseUrl = kg_ss_url(); $items = []; diff --git a/app/Services/Pay/WxpayGateway.php b/app/Services/Pay/WxpayGateway.php index 3ecfa1c4..8e06c588 100644 --- a/app/Services/Pay/WxpayGateway.php +++ b/app/Services/Pay/WxpayGateway.php @@ -45,6 +45,8 @@ class WxpayGateway extends Service 'mch_id' => $this->settings['mch_id'], 'key' => $this->settings['key'], 'notify_url' => $this->settings['notify_url'], + 'cert_client' => '', + 'cert_key' => '', 'log' => [ 'file' => log_path('wxpay.log'), 'level' => $level, diff --git a/app/Services/Refund.php b/app/Services/Refund.php index d29614fa..8e544a15 100644 --- a/app/Services/Refund.php +++ b/app/Services/Refund.php @@ -32,7 +32,7 @@ class Refund extends Service */ $itemInfo = $order->item_info; - $itemInfo['course']['cover'] = kg_ci_cover_img_url($itemInfo['course']['cover']); + $itemInfo['course']['cover'] = kg_ss_cover_url($itemInfo['course']['cover']); $refundPercent = 0.00; $refundAmount = 0.00; @@ -72,7 +72,7 @@ class Refund extends Service */ foreach ($itemInfo['courses'] as &$course) { - $course['cover'] = kg_ci_cover_img_url($course['cover']); + $course['cover'] = kg_ss_cover_url($course['cover']); $refundPercent = 0.00; $refundAmount = 0.00; diff --git a/app/Services/Storage.php b/app/Services/Storage.php index 10261364..57f12200 100644 --- a/app/Services/Storage.php +++ b/app/Services/Storage.php @@ -25,7 +25,7 @@ class Storage extends Service public function __construct() { - $this->settings = $this->getSectionSettings('storage'); + $this->settings = $this->getSectionSettings('cos'); $this->logger = $this->getLogger('storage'); @@ -41,7 +41,7 @@ class Storage extends Service */ public function putString($key, $body) { - $bucket = $this->settings['bucket_name']; + $bucket = $this->settings['bucket']; try { @@ -52,7 +52,6 @@ class Storage extends Service } catch (\Exception $e) { $this->logger->error('Put String Exception ' . kg_json_encode([ - 'line' => $e->getLine(), 'code' => $e->getCode(), 'message' => $e->getMessage(), ])); @@ -72,7 +71,7 @@ class Storage extends Service */ public function putFile($key, $filename) { - $bucket = $this->settings['bucket_name']; + $bucket = $this->settings['bucket']; try { @@ -85,7 +84,6 @@ class Storage extends Service } catch (\Exception $e) { $this->logger->error('Put File Exception ' . kg_json_encode([ - 'line' => $e->getLine(), 'code' => $e->getCode(), 'message' => $e->getMessage(), ])); @@ -104,7 +102,7 @@ class Storage extends Service */ public function deleteObject($key) { - $bucket = $this->settings['bucket_name']; + $bucket = $this->settings['bucket']; try { @@ -118,7 +116,6 @@ class Storage extends Service } catch (\Exception $e) { $this->logger->error('Delete Object Exception ' . kg_json_encode([ - 'line' => $e->getLine(), 'code' => $e->getCode(), 'message' => $e->getMessage(), ])); @@ -130,52 +127,39 @@ class Storage extends Service } /** - * 获取存储桶文件URL + * 获取文件URL * * @param string $key * @return string */ - public function getBucketFileUrl($key) + public function getFileUrl($key) { - return $this->getBucketBaseUrl() . $key; + return $this->getBaseUrl() . $key; } /** - * 获取数据万象图片URL + * 获取图片URL * * @param string $key * @param string $style * @return string */ - public function getCiImageUrl($key, $style = null) + public function getImageUrl($key, $style = null) { $style = $style ?: ''; - return $this->getCiBaseUrl() . $key . $style; + return $this->getBaseUrl() . $key . $style; } /** - * 获取存储桶根URL + * 获取基准URL * * @return string */ - public function getBucketBaseUrl() + public function getBaseUrl() { - $protocol = $this->settings['bucket_protocol']; - $domain = $this->settings['bucket_domain']; - - return sprintf('%s://%s', $protocol, trim($domain, '/')); - } - - /** - * 获取数据万象根URL - * - * @return string - */ - public function getCiBaseUrl() - { - $protocol = $this->settings['ci_protocol']; - $domain = $this->settings['ci_domain']; + $protocol = $this->settings['protocol']; + $domain = $this->settings['domain']; return sprintf('%s://%s', $protocol, trim($domain, '/')); } @@ -217,8 +201,8 @@ class Storage extends Service $secret = $this->getSectionSettings('secret'); return new CosClient([ - 'region' => $this->settings['bucket_region'], - 'schema' => $this->settings['bucket_protocol'], + 'region' => $this->settings['region'], + 'schema' => $this->settings['protocol'], 'credentials' => [ 'secretId' => $secret['secret_id'], 'secretKey' => $secret['secret_key'], diff --git a/composer.json b/composer.json index e87ffea3..7df5e8c1 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ "guzzlehttp/guzzle": "^6.3", "swiftmailer/swiftmailer": "^6.0", "peppeocchi/php-cron-scheduler": "^2.4", - "yansongda/pay": "^2.8", + "yansongda/pay": "^2.9", "tencentcloud/tencentcloud-sdk-php": "3.*", "qcloudsms/qcloudsms_php": "0.1.*", "qcloud/cos-sdk-v5": "2.*", @@ -23,9 +23,8 @@ "lcobucci/jwt": "^3.3" }, "require-dev": { - "phalcon/ide-stubs": "^3.4.3", - "jaeger/querylist": "^4.1", - "odan/phinx-migrations-generator": "^5.1" + "odan/phinx-migrations-generator": "^5.1", + "phalcon/ide-stubs": "^3.4" }, "repositories": { "packagist": { diff --git a/composer.lock b/composer.lock index 3d242371..9bee1b6c 100644 --- a/composer.lock +++ b/composer.lock @@ -1,360 +1,360 @@ { - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "5c543936b37c657c151898d56a85a006", - "packages": [ - { - "name": "aferrandini/phpqrcode", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/aferrandini/PHPQRCode.git", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aferrandini/PHPQRCode/zipball/3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "PHPQRCode": "lib/" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "66628b38c16e2071e5636757472860e8", + "packages": [ { - "name": "Ariel Ferrandini", - "email": "arielferrandini@gmail.com", - "homepage": "http://www.ferrandini.com/", - "role": "Developer" - } - ], - "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", - "homepage": "https://github.com/aferrandini/PHPQRCode", - "keywords": [ - "barcode", - "php", - "qrcode" - ], - "abandoned": "endroid/qr-code", - "time": "2013-07-08T09:39:08+00:00" - }, - { - "name": "cakephp/core", - "version": "4.1.3", - "source": { - "type": "git", - "url": "https://github.com/cakephp/core.git", - "reference": "c7e88f1cd6dfe17065e71f1af305d415f155e97e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/core/zipball/c7e88f1cd6dfe17065e71f1af305d415f155e97e", - "reference": "c7e88f1cd6dfe17065e71f1af305d415f155e97e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cakephp/utility": "^4.0", - "php": ">=7.2.0" - }, - "suggest": { - "cakephp/cache": "To use Configure::store() and restore().", - "cakephp/event": "To use PluginApplicationInterface or plugin applications." - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Core\\": "." - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/core/graphs/contributors" - } - ], - "description": "CakePHP Framework Core classes", - "homepage": "https://cakephp.org", - "keywords": [ - "cakephp", - "core", - "framework" - ], - "time": "2020-08-13T23:43:58+00:00" - }, - { - "name": "cakephp/database", - "version": "4.1.3", - "source": { - "type": "git", - "url": "https://github.com/cakephp/database.git", - "reference": "b5342110aca5dea9c902c2e12d2077ea2c11eecb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/database/zipball/b5342110aca5dea9c902c2e12d2077ea2c11eecb", - "reference": "b5342110aca5dea9c902c2e12d2077ea2c11eecb", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cakephp/core": "^4.0", - "cakephp/datasource": "^4.0", - "php": ">=7.2.0" - }, - "suggest": { - "cakephp/i18n": "If you are using locale-aware datetime formats or Chronos types." - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Database\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/database/graphs/contributors" - } - ], - "description": "Flexible and powerful Database abstraction library with a familiar PDO-like API", - "homepage": "https://cakephp.org", - "keywords": [ - "abstraction", - "cakephp", - "database", - "database abstraction", - "pdo" - ], - "time": "2020-08-14T17:56:57+00:00" - }, - { - "name": "cakephp/datasource", - "version": "4.1.3", - "source": { - "type": "git", - "url": "https://github.com/cakephp/datasource.git", - "reference": "4514e256c3da3c88c0cb4754218a217f9f20ec1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/datasource/zipball/4514e256c3da3c88c0cb4754218a217f9f20ec1d", - "reference": "4514e256c3da3c88c0cb4754218a217f9f20ec1d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cakephp/core": "^4.0", - "php": ">=7.2.0", - "psr/log": "^1.1", - "psr/simple-cache": "^1.0" - }, - "suggest": { - "cakephp/cache": "If you decide to use Query caching.", - "cakephp/collection": "If you decide to use ResultSetInterface.", - "cakephp/utility": "If you decide to use EntityTrait." - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Datasource\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/datasource/graphs/contributors" - } - ], - "description": "Provides connection managing and traits for Entities and Queries that can be reused for different datastores", - "homepage": "https://cakephp.org", - "keywords": [ - "cakephp", - "connection management", - "datasource", - "entity", - "query" - ], - "time": "2020-07-21T05:44:43+00:00" - }, - { - "name": "cakephp/utility", - "version": "4.1.3", - "source": { - "type": "git", - "url": "https://github.com/cakephp/utility.git", - "reference": "c65a5a169077c561b6e850e6d0ee85d9a54b6f5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/utility/zipball/c65a5a169077c561b6e850e6d0ee85d9a54b6f5a", - "reference": "c65a5a169077c561b6e850e6d0ee85d9a54b6f5a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cakephp/core": "^4.0", - "php": ">=7.2.0" - }, - "suggest": { - "ext-intl": "To use Text::transliterate() or Text::slug()", - "lib-ICU": "To use Text::transliterate() or Text::slug()" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Utility\\": "." - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/utility/graphs/contributors" - } - ], - "description": "CakePHP Utility classes such as Inflector, String, Hash, and Security", - "homepage": "https://cakephp.org", - "keywords": [ - "cakephp", - "hash", - "inflector", - "security", - "string", - "utility" - ], - "time": "2020-08-12T08:25:29+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e17f069ede36f7534b95adec71910ed1b49c74ea", - "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.2" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" + "name": "aferrandini/phpqrcode", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/aferrandini/PHPQRCode.git", + "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aferrandini/PHPQRCode/zipball/3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", + "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "PHPQRCode": "lib/" + } + }, + "notification-url": "https://packagist.jp/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ariel Ferrandini", + "email": "arielferrandini@gmail.com", + "homepage": "http://www.ferrandini.com/", + "role": "Developer" + } + ], + "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", + "homepage": "https://github.com/aferrandini/PHPQRCode", + "keywords": [ + "barcode", + "php", + "qrcode" + ], + "abandoned": "endroid/qr-code", + "time": "2013-07-08T09:39:08+00:00" }, { - "name": "Roman Borschel", - "email": "roman@code-factory.org" + "name": "cakephp/core", + "version": "4.1.3", + "source": { + "type": "git", + "url": "https://github.com/cakephp/core.git", + "reference": "c7e88f1cd6dfe17065e71f1af305d415f155e97e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/core/zipball/c7e88f1cd6dfe17065e71f1af305d415f155e97e", + "reference": "c7e88f1cd6dfe17065e71f1af305d415f155e97e", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "cakephp/utility": "^4.0", + "php": ">=7.2.0" + }, + "suggest": { + "cakephp/cache": "To use Configure::store() and restore().", + "cakephp/event": "To use PluginApplicationInterface or plugin applications." + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Core\\": "." + }, + "files": [ + "functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/core/graphs/contributors" + } + ], + "description": "CakePHP Framework Core classes", + "homepage": "https://cakephp.org", + "keywords": [ + "cakephp", + "core", + "framework" + ], + "time": "2020-08-13T23:43:58+00:00" }, { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "time": "2019-07-30T19:33:28+00:00" - }, - { - "name": "egulias/email-validator", + "name": "cakephp/database", + "version": "4.1.3", + "source": { + "type": "git", + "url": "https://github.com/cakephp/database.git", + "reference": "b5342110aca5dea9c902c2e12d2077ea2c11eecb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/database/zipball/b5342110aca5dea9c902c2e12d2077ea2c11eecb", + "reference": "b5342110aca5dea9c902c2e12d2077ea2c11eecb", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "cakephp/core": "^4.0", + "cakephp/datasource": "^4.0", + "php": ">=7.2.0" + }, + "suggest": { + "cakephp/i18n": "If you are using locale-aware datetime formats or Chronos types." + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Database\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/database/graphs/contributors" + } + ], + "description": "Flexible and powerful Database abstraction library with a familiar PDO-like API", + "homepage": "https://cakephp.org", + "keywords": [ + "abstraction", + "cakephp", + "database", + "database abstraction", + "pdo" + ], + "time": "2020-08-14T17:56:57+00:00" + }, + { + "name": "cakephp/datasource", + "version": "4.1.3", + "source": { + "type": "git", + "url": "https://github.com/cakephp/datasource.git", + "reference": "4514e256c3da3c88c0cb4754218a217f9f20ec1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/datasource/zipball/4514e256c3da3c88c0cb4754218a217f9f20ec1d", + "reference": "4514e256c3da3c88c0cb4754218a217f9f20ec1d", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "cakephp/core": "^4.0", + "php": ">=7.2.0", + "psr/log": "^1.1", + "psr/simple-cache": "^1.0" + }, + "suggest": { + "cakephp/cache": "If you decide to use Query caching.", + "cakephp/collection": "If you decide to use ResultSetInterface.", + "cakephp/utility": "If you decide to use EntityTrait." + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Datasource\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/datasource/graphs/contributors" + } + ], + "description": "Provides connection managing and traits for Entities and Queries that can be reused for different datastores", + "homepage": "https://cakephp.org", + "keywords": [ + "cakephp", + "connection management", + "datasource", + "entity", + "query" + ], + "time": "2020-07-21T05:44:43+00:00" + }, + { + "name": "cakephp/utility", + "version": "4.1.3", + "source": { + "type": "git", + "url": "https://github.com/cakephp/utility.git", + "reference": "c65a5a169077c561b6e850e6d0ee85d9a54b6f5a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/utility/zipball/c65a5a169077c561b6e850e6d0ee85d9a54b6f5a", + "reference": "c65a5a169077c561b6e850e6d0ee85d9a54b6f5a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "cakephp/core": "^4.0", + "php": ">=7.2.0" + }, + "suggest": { + "ext-intl": "To use Text::transliterate() or Text::slug()", + "lib-ICU": "To use Text::transliterate() or Text::slug()" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Utility\\": "." + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/utility/graphs/contributors" + } + ], + "description": "CakePHP Utility classes such as Inflector, String, Hash, and Security", + "homepage": "https://cakephp.org", + "keywords": [ + "cakephp", + "hash", + "inflector", + "security", + "string", + "utility" + ], + "time": "2020-08-12T08:25:29+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e17f069ede36f7534b95adec71910ed1b49c74ea", + "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": "^7.2" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "time": "2019-07-30T19:33:28+00:00" + }, + { + "name": "egulias/email-validator", "version": "2.1.11", "source": { "type": "git", @@ -362,16 +362,16 @@ "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", + "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "doctrine/lexer": "^1.0.1", @@ -426,16 +426,16 @@ "reference": "2aaa2521a8f8269d6f5dfc13fe2af12c76921034" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/command/zipball/2aaa2521a8f8269d6f5dfc13fe2af12c76921034", - "reference": "2aaa2521a8f8269d6f5dfc13fe2af12c76921034", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/guzzle/command/zipball/2aaa2521a8f8269d6f5dfc13fe2af12c76921034", + "reference": "2aaa2521a8f8269d6f5dfc13fe2af12c76921034", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "guzzlehttp/guzzle": "^6.2", @@ -485,16 +485,16 @@ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "guzzlehttp/promises": "^1.0", @@ -556,16 +556,16 @@ "reference": "9e3abf20161cbf662d616cbb995f2811771759f7" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle-services/zipball/9e3abf20161cbf662d616cbb995f2811771759f7", - "reference": "9e3abf20161cbf662d616cbb995f2811771759f7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle-services/zipball/9e3abf20161cbf662d616cbb995f2811771759f7", + "reference": "9e3abf20161cbf662d616cbb995f2811771759f7", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "guzzlehttp/command": "~1.0", @@ -622,16 +622,16 @@ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": ">=5.5.0" @@ -679,16 +679,16 @@ "reference": "239400de7a173fe9901b9ac7c06497751f00727a" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": ">=5.4.0", @@ -756,192 +756,192 @@ "reference": "d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hightman/xs-sdk-php/zipball/d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87", - "reference": "d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/hightman/xs-sdk-php/zipball/d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87", + "reference": "d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "ext-mbstring": "*", "lib-pcre": "*", "php": ">=5.3.0" }, - "bin": [ - "util/xs" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "lib/", - "wrapper/yii-ext/" + "bin": [ + "util/xs" ], - "psr-4": { - "hightman\\xunsearch\\": "wrapper/yii2-ext/" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "hightman", - "email": "hightman@twomice.net", - "role": "Founder and project leader" - } - ], - "description": "xunsearch php sdk, include yii, yii2 supports", - "homepage": "http://www.xunsearch.com/", - "keywords": [ - "search engine", - "xunsearch", - "yii", - "yii2" - ], - "time": "2019-11-01T02:17:32+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "3.3.3", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "c1123697f6a2ec29162b82f170dd4a491f524773" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c1123697f6a2ec29162b82f170dd4a491f524773", - "reference": "c1123697f6a2ec29162b82f170dd4a491f524773", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-mbstring": "*", - "ext-openssl": "*", - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "mikey179/vfsstream": "~1.5", - "phpmd/phpmd": "~2.2", - "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "^5.7 || ^7.3", - "squizlabs/php_codesniffer": "~2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Otávio Cobucci Oblonczyk", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "lib/", + "wrapper/yii-ext/" + ], + "psr-4": { + "hightman\\xunsearch\\": "wrapper/yii2-ext/" + } + }, + "notification-url": "https://packagist.jp/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "hightman", + "email": "hightman@twomice.net", + "role": "Founder and project leader" + } + ], + "description": "xunsearch php sdk, include yii, yii2 supports", + "homepage": "http://www.xunsearch.com/", + "keywords": [ + "search engine", + "xunsearch", + "yii", + "yii2" + ], + "time": "2019-11-01T02:17:32+00:00" }, { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2020-08-20T13:22:28+00:00" - }, - { - "name": "monolog/monolog", - "version": "2.1.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9eee5cec93dfb313a38b6b288741e84e53f02d5", - "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2", - "psr/log": "^1.0.1" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^6.0", - "graylog2/gelf-php": "^1.4.2", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "php-parallel-lint/php-parallel-lint": "^1.0", - "phpspec/prophecy": "^1.6.1", - "phpunit/phpunit": "^8.5", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <3.0", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" + "name": "lcobucci/jwt", + "version": "3.3.3", + "source": { + "type": "git", + "url": "https://github.com/lcobucci/jwt.git", + "reference": "c1123697f6a2ec29162b82f170dd4a491f524773" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c1123697f6a2ec29162b82f170dd4a491f524773", + "reference": "c1123697f6a2ec29162b82f170dd4a491f524773", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "ext-mbstring": "*", + "ext-openssl": "*", + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "mikey179/vfsstream": "~1.5", + "phpmd/phpmd": "~2.2", + "phpunit/php-invoker": "~1.1", + "phpunit/phpunit": "^5.7 || ^7.3", + "squizlabs/php_codesniffer": "~2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Lcobucci\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Luís Otávio Cobucci Oblonczyk", + "email": "lcobucci@gmail.com", + "role": "Developer" + } + ], + "description": "A simple library to work with JSON Web Token and JSON Web Signature", + "keywords": [ + "JWS", + "jwt" + ], + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], + "time": "2020-08-20T13:22:28+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9eee5cec93dfb313a38b6b288741e84e53f02d5", + "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^6.0", + "graylog2/gelf-php": "^1.4.2", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "php-parallel-lint/php-parallel-lint": "^1.0", + "phpspec/prophecy": "^1.6.1", + "phpunit/phpunit": "^8.5", + "predis/predis": "^1.1", + "rollbar/rollbar": "^1.3", + "ruflin/elastica": ">=0.90 <3.0", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" } }, "autoload": { @@ -950,86 +950,86 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2020-07-23T08:41:23+00:00" }, { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2020-07-23T08:41:23+00:00" - }, - { - "name": "mtdowling/cron-expression", - "version": "v1.2.1", - "source": { - "type": "git", - "url": "https://github.com/mtdowling/cron-expression.git", - "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9504fa9ea681b586028adaaa0877db4aecf32bad", - "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "abandoned": "dragonmantank/cron-expression", - "time": "2017-01-23T04:29:33+00:00" - }, + "name": "mtdowling/cron-expression", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/mtdowling/cron-expression.git", + "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9504fa9ea681b586028adaaa0877db4aecf32bad", + "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "abandoned": "dragonmantank/cron-expression", + "time": "2017-01-23T04:29:33+00:00" + }, { "name": "peppeocchi/php-cron-scheduler", "version": "v2.4", @@ -1039,16 +1039,16 @@ "reference": "1b18892fdd4f9c913107fda1544ac402eb7ec6e5" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/peppeocchi/php-cron-scheduler/zipball/1b18892fdd4f9c913107fda1544ac402eb7ec6e5", - "reference": "1b18892fdd4f9c913107fda1544ac402eb7ec6e5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/peppeocchi/php-cron-scheduler/zipball/1b18892fdd4f9c913107fda1544ac402eb7ec6e5", + "reference": "1b18892fdd4f9c913107fda1544ac402eb7ec6e5", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "mtdowling/cron-expression": "~1.0", @@ -1100,16 +1100,16 @@ "reference": "4883d9009a9d651308bfc201a0e9440c0ff692e2" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phalcon/incubator/zipball/4883d9009a9d651308bfc201a0e9440c0ff692e2", - "reference": "4883d9009a9d651308bfc201a0e9440c0ff692e2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/phalcon/incubator/zipball/4883d9009a9d651308bfc201a0e9440c0ff692e2", + "reference": "4883d9009a9d651308bfc201a0e9440c0ff692e2", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "ext-phalcon": "^3.3", @@ -1175,16 +1175,16 @@ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": ">=5.3.0" @@ -1200,109 +1200,109 @@ "Psr\\Cache\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { "psr-4": { "Psr\\Http\\Message\\": "src/" } @@ -1319,153 +1319,153 @@ ], "description": "Common interface for HTTP messages", "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { "psr-4": { "Psr\\Log\\": "Psr/Log/" } }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2020-03-23T09:12:05+00:00" + }, { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2020-03-23T09:12:05+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.jp/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "qcloud/cos-sdk-v5", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/tencentyun/cos-php-sdk-v5.git", - "reference": "a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tencentyun/cos-php-sdk-v5/zipball/a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e", - "reference": "a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "guzzlehttp/guzzle": "~6.3", - "guzzlehttp/guzzle-services": "~1.1", - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Qcloud\\Cos\\": "src/" - } + "name": "qcloud/cos-sdk-v5", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/tencentyun/cos-php-sdk-v5.git", + "reference": "a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tencentyun/cos-php-sdk-v5/zipball/a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e", + "reference": "a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "~6.3", + "guzzlehttp/guzzle-services": "~1.1", + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Qcloud\\Cos\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1498,16 +1498,16 @@ "reference": "48822045772d343b93c3d505d8a187cd51153c5a" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/qcloudsms/qcloudsms_php/zipball/48822045772d343b93c3d505d8a187cd51153c5a", - "reference": "48822045772d343b93c3d505d8a187cd51153c5a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/qcloudsms/qcloudsms_php/zipball/48822045772d343b93c3d505d8a187cd51153c5a", + "reference": "48822045772d343b93c3d505d8a187cd51153c5a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require-dev": { "sami/sami": "dev-master" @@ -1540,482 +1540,482 @@ "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "robmorgan/phinx", - "version": "0.12.4", - "source": { - "type": "git", - "url": "https://github.com/cakephp/phinx.git", - "reference": "05902f4a90790ce9db195954e608d5a43d4d6a7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/phinx/zipball/05902f4a90790ce9db195954e608d5a43d4d6a7d", - "reference": "05902f4a90790ce9db195954e608d5a43d4d6a7d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cakephp/database": "^4.0", - "php": ">=7.2", - "psr/container": "^1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "cakephp/cakephp-codesniffer": "^3.0", - "ext-json": "*", - "ext-pdo": "*", - "phpunit/phpunit": "^8.5", - "sebastian/comparator": ">=1.2.3", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "ext-json": "Install if using JSON configuration format", - "ext-pdo": "PDO extension is needed", - "symfony/yaml": "Install if using YAML configuration format" - }, - "bin": [ - "bin/phinx" - ], - "type": "library", - "autoload": { - "psr-4": { - "Phinx\\": "src/Phinx/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rob Morgan", - "email": "robbym@gmail.com", - "homepage": "https://robmorgan.id.au", - "role": "Lead Developer" + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" }, { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com", - "homepage": "https://shadowhand.me", - "role": "Developer" + "name": "robmorgan/phinx", + "version": "0.12.4", + "source": { + "type": "git", + "url": "https://github.com/cakephp/phinx.git", + "reference": "05902f4a90790ce9db195954e608d5a43d4d6a7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/05902f4a90790ce9db195954e608d5a43d4d6a7d", + "reference": "05902f4a90790ce9db195954e608d5a43d4d6a7d", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "cakephp/database": "^4.0", + "php": ">=7.2", + "psr/container": "^1.0", + "symfony/config": "^3.4|^4.0|^5.0", + "symfony/console": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "ext-json": "*", + "ext-pdo": "*", + "phpunit/phpunit": "^8.5", + "sebastian/comparator": ">=1.2.3", + "symfony/yaml": "^3.4|^4.0|^5.0" + }, + "suggest": { + "ext-json": "Install if using JSON configuration format", + "ext-pdo": "PDO extension is needed", + "symfony/yaml": "Install if using YAML configuration format" + }, + "bin": [ + "bin/phinx" + ], + "type": "library", + "autoload": { + "psr-4": { + "Phinx\\": "src/Phinx/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Morgan", + "email": "robbym@gmail.com", + "homepage": "https://robmorgan.id.au", + "role": "Lead Developer" + }, + { + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com", + "homepage": "https://shadowhand.me", + "role": "Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Developer" + }, + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/phinx/graphs/contributors", + "role": "Developer" + } + ], + "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", + "homepage": "https://phinx.org", + "keywords": [ + "database", + "database migrations", + "db", + "migrations", + "phinx" + ], + "time": "2020-08-15T07:42:40+00:00" }, { - "name": "Richard Quadling", - "email": "rquadling@gmail.com", - "role": "Developer" + "name": "swiftmailer/swiftmailer", + "version": "v6.2.1", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", + "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "egulias/email-validator": "~2.0", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "^3.4.19|^4.1.8" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses", + "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2019-04-21T09:21:45+00:00" }, { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/phinx/graphs/contributors", - "role": "Developer" - } - ], - "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", - "homepage": "https://phinx.org", - "keywords": [ - "database", - "database migrations", - "db", - "migrations", - "phinx" - ], - "time": "2020-08-15T07:42:40+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.1", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", - "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" + "name": "symfony/config", + "version": "v5.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/cf63f0613a6c6918e96db39c07a43b01e19a0773", + "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-15T10:53:22+00:00" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "time": "2019-04-21T09:21:45+00:00" - }, - { - "name": "symfony/config", - "version": "v5.1.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/cf63f0613a6c6918e96db39c07a43b01e19a0773", - "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/filesystem": "^4.4|^5.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/finder": "<4.4" - }, - "require-dev": { - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/messenger": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "symfony/console", + "version": "v4.4.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "55d07021da933dd0d633ffdab6f45d5b230c7e02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/55d07021da933dd0d633ffdab6f45d5b230c7e02", + "reference": "55d07021da933dd0d633ffdab6f45d5b230c7e02", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3|>=5", + "symfony/lock": "<4.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^3.4|^4.0|^5.0", + "symfony/dependency-injection": "^3.4|^4.0|^5.0", + "symfony/event-dispatcher": "^4.3", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^3.4|^4.0|^5.0", + "symfony/var-dumper": "^4.3|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-06T13:18:39+00:00" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "symfony/deprecation-contracts", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:49:21+00:00" }, { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-15T10:53:22+00:00" - }, - { - "name": "symfony/console", - "version": "v4.4.11", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "55d07021da933dd0d633ffdab6f45d5b230c7e02" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/55d07021da933dd0d633ffdab6f45d5b230c7e02", - "reference": "55d07021da933dd0d633ffdab6f45d5b230c7e02", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", - "symfony/lock": "<4.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-06T13:18:39+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.1.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", - "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-06-06T08:49:21+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v4.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2", - "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" + "name": "symfony/event-dispatcher", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": "^7.1.3", + "symfony/event-dispatcher-contracts": "^1.1" + }, + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "1.1" }, "require-dev": { "psr/log": "~1.0", @@ -2071,16 +2071,16 @@ "reference": "c61766f4440ca687de1084a5c00b08e167a2575c" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c", + "reference": "c61766f4440ca687de1084a5c00b08e167a2575c", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": "^7.1.3" @@ -2116,116 +2116,116 @@ ], "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-06-20T06:46:26+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.1.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-06-20T06:46:26+00:00" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "symfony/filesystem", + "version": "v5.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "6e4320f06d5f2cce0d96530162491f4465179157" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", + "reference": "6e4320f06d5f2cce0d96530162491f4465179157", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-30T20:35:19+00:00" }, { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-05-30T20:35:19+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v4.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc", - "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "~3.4|~4.0" - }, - "type": "library", + "name": "symfony/http-foundation", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc", + "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": "^7.1.3", + "symfony/mime": "^4.3", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" + }, + "type": "library", "extra": { "branch-alias": { "dev-master": "4.3-dev" @@ -2266,16 +2266,16 @@ "reference": "987a05df1c6ac259b34008b932551353f4f408df" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df", - "reference": "987a05df1c6ac259b34008b932551353f4f408df", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df", + "reference": "987a05df1c6ac259b34008b932551353f4f408df", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": "^7.1.3", @@ -2304,136 +2304,136 @@ "license": [ "MIT" ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A library to manipulate MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "time": "2019-08-22T08:16:11+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A library to manipulate MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "time": "2019-08-22T08:16:11+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.18.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", - "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.12.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "685968b11e61a347c18bf25db32effa478be610f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/685968b11e61a347c18bf25db32effa478be610f", - "reference": "685968b11e61a347c18bf25db32effa478be610f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.12-dev" + "name": "symfony/polyfill-iconv", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "685968b11e61a347c18bf25db32effa478be610f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/685968b11e61a347c18bf25db32effa478be610f", + "reference": "685968b11e61a347c18bf25db32effa478be610f", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" } }, "autoload": { @@ -2478,16 +2478,16 @@ "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", - "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", + "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": ">=5.3.3", @@ -2527,52 +2527,52 @@ ], "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "time": "2019-08-06T08:03:45+00:00" + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.18.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", - "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" @@ -2585,68 +2585,72 @@ "license": [ "MIT" ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.12.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "04ce3335667451138df4307d6a9b61565560199e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", - "reference": "04ce3335667451138df4307d6a9b61565560199e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, + "name": "symfony/polyfill-php72", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "639447d008615574653fb3bc60d1986d7172eaae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae", + "reference": "639447d008615574653fb3bc60d1986d7172eaae", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, "require": { "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -2662,305 +2666,319 @@ "MIT" ], "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2019-08-06T08:03:45+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.18.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca", - "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "symfony/polyfill-php73", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca", + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" }, { - "url": "https://github.com/fabpot", - "type": "github" + "name": "symfony/polyfill-php80", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.18.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981", - "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" + "name": "symfony/service-contracts", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442", + "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-06T13:23:11+00:00" }, { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.1.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442", - "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-06T13:23:11+00:00" - }, - { - "name": "tencentcloud/tencentcloud-sdk-php", - "version": "3.0.92", - "source": { - "type": "git", - "url": "https://github.com/TencentCloud/tencentcloud-sdk-php.git", - "reference": "71164956c234368c65c00e321e96f6dbd0f8d9c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TencentCloud/tencentcloud-sdk-php/zipball/71164956c234368c65c00e321e96f6dbd0f8d9c0", - "reference": "71164956c234368c65c00e321e96f6dbd0f8d9c0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "guzzlehttp/guzzle": "^6.3", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.6.33" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/QcloudApi/QcloudApi.php" - ], + "name": "tencentcloud/tencentcloud-sdk-php", + "version": "3.0.92", + "source": { + "type": "git", + "url": "https://github.com/TencentCloud/tencentcloud-sdk-php.git", + "reference": "71164956c234368c65c00e321e96f6dbd0f8d9c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TencentCloud/tencentcloud-sdk-php/zipball/71164956c234368c65c00e321e96f6dbd0f8d9c0", + "reference": "71164956c234368c65c00e321e96f6dbd0f8d9c0", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "^6.3", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.6.33" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/QcloudApi/QcloudApi.php" + ], "psr-4": { "TencentCloud\\": "./src/TencentCloud" } @@ -2990,16 +3008,16 @@ "reference": "9c6ad8eadc23294b1c66d92876c11f13c5d4cf48" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/WhichBrowser/Parser-PHP/zipball/9c6ad8eadc23294b1c66d92876c11f13c5d4cf48", - "reference": "9c6ad8eadc23294b1c66d92876c11f13c5d4cf48", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/WhichBrowser/Parser-PHP/zipball/9c6ad8eadc23294b1c66d92876c11f13c5d4cf48", + "reference": "9c6ad8eadc23294b1c66d92876c11f13c5d4cf48", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, "require": { "php": ">=5.4.0", @@ -3055,1049 +3073,474 @@ "reference": "38b44c95f21cd340b5a9cff3987ddb2abb9a2a38" }, "dist": { - "type": "zip", - "url": "https://api.github.com/repos/walkor/GatewayWorker/zipball/38b44c95f21cd340b5a9cff3987ddb2abb9a2a38", - "reference": "38b44c95f21cd340b5a9cff3987ddb2abb9a2a38", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "type": "zip", + "url": "https://api.github.com/repos/walkor/GatewayWorker/zipball/38b44c95f21cd340b5a9cff3987ddb2abb9a2a38", + "reference": "38b44c95f21cd340b5a9cff3987ddb2abb9a2a38", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] }, - "require": { - "workerman/workerman": ">=3.1.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "GatewayWorker\\": "./src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "homepage": "http://www.workerman.net", - "keywords": [ - "communication", - "distributed" - ], - "time": "2019-07-02T11:55:24+00:00" - }, - { - "name": "workerman/gatewayclient", - "version": "v3.0.13", - "source": { - "type": "git", - "url": "https://github.com/walkor/GatewayClient.git", - "reference": "6f4e76f38947be5cabca2c6fee367151f248d949" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/walkor/GatewayClient/zipball/6f4e76f38947be5cabca2c6fee367151f248d949", - "reference": "6f4e76f38947be5cabca2c6fee367151f248d949", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "type": "library", - "autoload": { - "psr-4": { - "GatewayClient\\": "./" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "homepage": "http://www.workerman.net", - "time": "2018-09-15T03:03:50+00:00" - }, - { - "name": "workerman/workerman", - "version": "v3.5.22", - "source": { - "type": "git", - "url": "https://github.com/walkor/Workerman.git", - "reference": "488f108f9e446f31bac4d689bb9f9fe3705862cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/walkor/Workerman/zipball/488f108f9e446f31bac4d689bb9f9fe3705862cf", - "reference": "488f108f9e446f31bac4d689bb9f9fe3705862cf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3" - }, - "suggest": { - "ext-event": "For better performance. " - }, - "type": "library", - "autoload": { - "psr-4": { - "Workerman\\": "./" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "walkor", - "email": "walkor@workerman.net", - "homepage": "http://www.workerman.net", - "role": "Developer" - } - ], - "description": "An asynchronous event driven PHP framework for easily building fast, scalable network applications.", - "homepage": "http://www.workerman.net", - "keywords": [ - "asynchronous", - "event-loop" - ], - "time": "2019-09-06T03:42:47+00:00" - }, - { - "name": "xiaochong0302/ip2region", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/xiaochong0302/ip2region.git", - "reference": "3cb3c50fa9e2c49115e40252f6b651437712a4e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/xiaochong0302/ip2region/zipball/3cb3c50fa9e2c49115e40252f6b651437712a4e9", - "reference": "3cb3c50fa9e2c49115e40252f6b651437712a4e9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Koogua\\Ip2Region\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "xiaochong0302", - "email": "xiaochong0302@gmail.com" - } - ], - "description": "ip2region扩展包", - "keywords": [ - "Ip2Region" - ], - "time": "2019-08-18T14:57:02+00:00" - }, - { - "name": "yansongda/pay", - "version": "v2.8.6", - "source": { - "type": "git", - "url": "https://github.com/yansongda/pay.git", - "reference": "841999b65f97466ed1b405c52400c0c73aeaa3b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/yansongda/pay/zipball/841999b65f97466ed1b405c52400c0c73aeaa3b5", - "reference": "841999b65f97466ed1b405c52400c0c73aeaa3b5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-json": "*", - "ext-libxml": "*", - "ext-openssl": "*", - "ext-simplexml": "*", - "php": ">=7.1.3", - "symfony/event-dispatcher": "^4.0", - "symfony/http-foundation": "^4.0", - "yansongda/supports": "^2.0" - }, - "require-dev": { - "mockery/mockery": "^1.2", - "phpunit/phpunit": "^7.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Yansongda\\Pay\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "yansongda", - "email": "me@yansongda.cn" - } - ], - "description": "专注 Alipay 和 WeChat 的支付扩展包", - "keywords": [ - "alipay", - "pay", - "wechat" - ], - "time": "2019-09-21T15:05:57+00:00" - }, - { - "name": "yansongda/supports", - "version": "v2.1.14", - "source": { - "type": "git", - "url": "https://github.com/yansongda/supports.git", - "reference": "c6bfcf6509288ab89fb9d1888e5154fe49869caf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/yansongda/supports/zipball/c6bfcf6509288ab89fb9d1888e5154fe49869caf", - "reference": "c6bfcf6509288ab89fb9d1888e5154fe49869caf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "guzzlehttp/guzzle": "^6.2", - "monolog/monolog": "^1.23 || ^2.0", - "php": ">=7.1.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.15", - "phpunit/phpunit": "^7.5", - "predis/predis": "^1.1" - }, - "suggest": { - "predis/predis": "Allows to use throttle feature" - }, - "type": "library", - "autoload": { - "psr-4": { - "Yansongda\\Supports\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "yansongda", - "email": "me@yansongda.cn" - } - ], - "description": "common components", - "keywords": [ - "Guzzle", - "array", - "collection", - "config", - "http", - "support", - "throttle" - ], - "time": "2020-06-18T12:14:05+00:00" - } - ], - "packages-dev": [ - { - "name": "cache/adapter-common", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-cache/adapter-common.git", - "reference": "6320bb5f5574cb88438059b59f8708da6b6f1d32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-cache/adapter-common/zipball/6320bb5f5574cb88438059b59f8708da6b6f1d32", - "reference": "6320bb5f5574cb88438059b59f8708da6b6f1d32", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cache/tag-interop": "^1.0", - "php": "^5.6 || ^7.0", - "psr/cache": "^1.0", - "psr/log": "^1.0", - "psr/simple-cache": "^1.0" - }, - "require-dev": { - "cache/integration-tests": "^0.16", - "phpunit/phpunit": "^5.7.21" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Cache\\Adapter\\Common\\": "" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Scherer", - "email": "aequasi@gmail.com", - "homepage": "https://github.com/aequasi" + "require": { + "workerman/workerman": ">=3.1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "GatewayWorker\\": "./src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "homepage": "http://www.workerman.net", + "keywords": [ + "communication", + "distributed" + ], + "time": "2019-07-02T11:55:24+00:00" }, { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - } - ], - "description": "Common classes for PSR-6 adapters", - "homepage": "http://www.php-cache.com/en/latest/", - "keywords": [ - "cache", - "psr-6", - "tag" - ], - "time": "2018-07-08T13:04:33+00:00" - }, - { - "name": "cache/filesystem-adapter", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-cache/filesystem-adapter.git", - "reference": "d50680b6dabbe39f9831f5fc9efa61c09d936017" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-cache/filesystem-adapter/zipball/d50680b6dabbe39f9831f5fc9efa61c09d936017", - "reference": "d50680b6dabbe39f9831f5fc9efa61c09d936017", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cache/adapter-common": "^1.0", - "league/flysystem": "^1.0", - "php": "^5.6 || ^7.0", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0" - }, - "provide": { - "psr/cache-implementation": "^1.0" - }, - "require-dev": { - "cache/integration-tests": "^0.16", - "phpunit/phpunit": "^5.7.21" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Cache\\Adapter\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Scherer", - "email": "aequasi@gmail.com", - "homepage": "https://github.com/aequasi" + "name": "workerman/gatewayclient", + "version": "v3.0.13", + "source": { + "type": "git", + "url": "https://github.com/walkor/GatewayClient.git", + "reference": "6f4e76f38947be5cabca2c6fee367151f248d949" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/walkor/GatewayClient/zipball/6f4e76f38947be5cabca2c6fee367151f248d949", + "reference": "6f4e76f38947be5cabca2c6fee367151f248d949", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "type": "library", + "autoload": { + "psr-4": { + "GatewayClient\\": "./" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "homepage": "http://www.workerman.net", + "time": "2018-09-15T03:03:50+00:00" }, { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - } - ], - "description": "A PSR-6 cache implementation using filesystem. This implementation supports tags", - "homepage": "http://www.php-cache.com/en/latest/", - "keywords": [ - "cache", - "filesystem", - "psr-6", - "tag" - ], - "time": "2017-07-16T21:09:25+00:00" - }, - { - "name": "cache/tag-interop", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-cache/tag-interop.git", - "reference": "c7496dd81530f538af27b4f2713cde97bc292832" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-cache/tag-interop/zipball/c7496dd81530f538af27b4f2713cde97bc292832", - "reference": "c7496dd81530f538af27b4f2713cde97bc292832", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.5 || ^7.0", - "psr/cache": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Cache\\TagInterop\\": "" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" + "name": "workerman/workerman", + "version": "v3.5.22", + "source": { + "type": "git", + "url": "https://github.com/walkor/Workerman.git", + "reference": "488f108f9e446f31bac4d689bb9f9fe3705862cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/walkor/Workerman/zipball/488f108f9e446f31bac4d689bb9f9fe3705862cf", + "reference": "488f108f9e446f31bac4d689bb9f9fe3705862cf", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3" + }, + "suggest": { + "ext-event": "For better performance. " + }, + "type": "library", + "autoload": { + "psr-4": { + "Workerman\\": "./" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "http://www.workerman.net", + "role": "Developer" + } + ], + "description": "An asynchronous event driven PHP framework for easily building fast, scalable network applications.", + "homepage": "http://www.workerman.net", + "keywords": [ + "asynchronous", + "event-loop" + ], + "time": "2019-09-06T03:42:47+00:00" }, { - "name": "Nicolas Grekas", - "email": "p@tchwork.com", - "homepage": "https://github.com/nicolas-grekas" - } - ], - "description": "Framework interoperable interfaces for tags", - "homepage": "http://www.php-cache.com/en/latest/", - "keywords": [ - "cache", - "psr", - "psr6", - "tag" - ], - "time": "2017-03-13T09:14:27+00:00" - }, - { - "name": "jaeger/g-http", - "version": "V1.6.0", - "source": { - "type": "git", - "url": "https://github.com/jae-jae/GHttp.git", - "reference": "eb34d266a07c687aef45087370ef47d48321bd2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jae-jae/GHttp/zipball/eb34d266a07c687aef45087370ef47d48321bd2e", - "reference": "eb34d266a07c687aef45087370ef47d48321bd2e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "cache/filesystem-adapter": "^1.0", - "guzzlehttp/guzzle": "^6.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jaeger\\": "src" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaeger", - "email": "JaegerCode@gmail.com" - } - ], - "description": "Simple Http client base on GuzzleHttp", - "time": "2018-12-12T04:21:15+00:00" - }, - { - "name": "jaeger/phpquery-single", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/jae-jae/phpQuery-single.git", - "reference": "2d607a2bcfd8bcf5c42e83d6c66fedaf397c7c3f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jae-jae/phpQuery-single/zipball/2d607a2bcfd8bcf5c42e83d6c66fedaf397c7c3f", - "reference": "2d607a2bcfd8bcf5c42e83d6c66fedaf397c7c3f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "phpQuery.php" - ] - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobiasz Cudnik", - "email": "tobiasz.cudnik@gmail.com", - "homepage": "https://github.com/TobiaszCudnik", - "role": "Developer" + "name": "xiaochong0302/ip2region", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/xiaochong0302/ip2region.git", + "reference": "3cb3c50fa9e2c49115e40252f6b651437712a4e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/xiaochong0302/ip2region/zipball/3cb3c50fa9e2c49115e40252f6b651437712a4e9", + "reference": "3cb3c50fa9e2c49115e40252f6b651437712a4e9", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Koogua\\Ip2Region\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "xiaochong0302", + "email": "xiaochong0302@gmail.com" + } + ], + "description": "ip2region扩展包", + "keywords": [ + "Ip2Region" + ], + "time": "2019-08-18T14:57:02+00:00" }, { - "name": "Jaeger", - "role": "Packager" - } - ], - "description": "phpQuery单文件版本,是Querylist的依赖(http://querylist.cc/),phpQuery项目主页:http://code.google.com/p/phpquery/", - "homepage": "http://code.google.com/p/phpquery/", - "time": "2019-02-22T07:27:45+00:00" - }, - { - "name": "jaeger/querylist", - "version": "V4.1.1", - "source": { - "type": "git", - "url": "https://github.com/jae-jae/QueryList.git", - "reference": "46f564bc8b1a22b5dca7cd690b4af76e919b39f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jae-jae/QueryList/zipball/46f564bc8b1a22b5dca7cd690b4af76e919b39f7", - "reference": "46f564bc8b1a22b5dca7cd690b4af76e919b39f7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "jaeger/g-http": "^1.1", - "jaeger/phpquery-single": "^1", - "php": ">=7.0", - "tightenco/collect": "^5" - }, - "require-dev": { - "phpunit/phpunit": "^7.5", - "symfony/var-dumper": "^3.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "QL\\": "src" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "name": "yansongda/pay", + "version": "v2.9.5", + "source": { + "type": "git", + "url": "https://github.com/yansongda/pay.git", + "reference": "0372c600eee2476df1b59912608edbf297a6582b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yansongda/pay/zipball/0372c600eee2476df1b59912608edbf297a6582b", + "reference": "0372c600eee2476df1b59912608edbf297a6582b", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "ext-bcmath": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-openssl": "*", + "ext-simplexml": "*", + "php": ">=7.1.3", + "symfony/event-dispatcher": "^4.0 || ^5.0", + "symfony/http-foundation": "^4.0 || ^5.0.7", + "yansongda/supports": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.15", + "mockery/mockery": "^1.2", + "phpunit/phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Yansongda\\Pay\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "yansongda", + "email": "me@yansongda.cn" + } + ], + "description": "专注 Alipay 和 WeChat 的支付扩展包", + "keywords": [ + "alipay", + "pay", + "wechat" + ], + "time": "2020-07-03T03:46:09+00:00" + }, { - "name": "Jaeger", - "email": "JaegerCode@gmail.com" + "name": "yansongda/supports", + "version": "v2.1.14", + "source": { + "type": "git", + "url": "https://github.com/yansongda/supports.git", + "reference": "c6bfcf6509288ab89fb9d1888e5154fe49869caf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yansongda/supports/zipball/c6bfcf6509288ab89fb9d1888e5154fe49869caf", + "reference": "c6bfcf6509288ab89fb9d1888e5154fe49869caf", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "^6.2", + "monolog/monolog": "^1.23 || ^2.0", + "php": ">=7.1.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.15", + "phpunit/phpunit": "^7.5", + "predis/predis": "^1.1" + }, + "suggest": { + "predis/predis": "Allows to use throttle feature" + }, + "type": "library", + "autoload": { + "psr-4": { + "Yansongda\\Supports\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "yansongda", + "email": "me@yansongda.cn" + } + ], + "description": "common components", + "keywords": [ + "Guzzle", + "array", + "collection", + "config", + "http", + "support", + "throttle" + ], + "time": "2020-06-18T12:14:05+00:00" } - ], - "description": "Simple, elegant, extensible PHP Web Scraper (crawler/spider),Use the css3 dom selector,Based on phpQuery! 简洁、优雅、可扩展的PHP采集工具(爬虫),基于phpQuery。", - "homepage": "http://querylist.cc", - "keywords": [ - "QueryList", - "phpQuery", - "spider" - ], - "time": "2019-02-22T07:33:54+00:00" - }, - { - "name": "league/flysystem", - "version": "1.0.63", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8132daec326565036bc8e8d1876f77ec183a7bd6", - "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-fileinfo": "*", - "php": ">=5.5.9" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.10" - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ + ], + "packages-dev": [ { - "name": "Frank de Jonge", - "email": "info@frenky.net" + "name": "odan/phinx-migrations-generator", + "version": "5.1.2", + "source": { + "type": "git", + "url": "https://github.com/odan/phinx-migrations-generator.git", + "reference": "f3cb7cc6bc7eb22e85f34f229b6d476e96d99c73" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/odan/phinx-migrations-generator/zipball/f3cb7cc6bc7eb22e85f34f229b6d476e96d99c73", + "reference": "f3cb7cc6bc7eb22e85f34f229b6d476e96d99c73", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "ext-json": "*", + "ext-pdo": "*", + "php": "^7.2", + "riimu/kit-phpencoder": "^2.4", + "robmorgan/phinx": "^0.12", + "symfony/console": "^2.8 || ^3.0 || ^4.0 || ^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.16", + "overtrue/phplint": "^1.1", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^8 || ^9", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "./bin/phinx-migrations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Odan\\Migration\\": "src/Migration/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Migration generator for Phinx", + "homepage": "https://github.com/odan/phinx-migrations-generator", + "keywords": [ + "database", + "generator", + "migration", + "migrations", + "mysql", + "phinx" + ], + "time": "2020-06-15T19:36:35+00:00" + }, + { + "name": "phalcon/ide-stubs", + "version": "v3.4.3", + "source": { + "type": "git", + "url": "https://github.com/phalcon/ide-stubs.git", + "reference": "65144f2b0fad32b182ccb062b1efc1b4edea5d44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phalcon/ide-stubs/zipball/65144f2b0fad32b182ccb062b1efc1b4edea5d44", + "reference": "65144f2b0fad32b182ccb062b1efc1b4edea5d44", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "notification-url": "https://packagist.jp/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Phalcon Team", + "email": "team@phalconphp.com", + "homepage": "https://phalconphp.com/en/team" + }, + { + "name": "Contributors", + "homepage": "https://github.com/phalcon/ide-stubs/graphs/contributors" + } + ], + "description": "The most complete Phalcon Framework IDE stubs library which enables autocompletion in modern IDEs.", + "homepage": "https://phalconphp.com", + "keywords": [ + "Devtools", + "Eclipse", + "autocomplete", + "ide", + "netbeans", + "phalcon", + "phpstorm", + "stub", + "stubs" + ], + "time": "2018-12-09T14:11:06+00:00" + }, + { + "name": "riimu/kit-phpencoder", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/Riimu/Kit-PHPEncoder.git", + "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Riimu/Kit-PHPEncoder/zipball/7e876d25019c3f6c23321ab5ac1a55c72fcd0933", + "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.6.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.2 || ^6.5 || ^5.7" + }, + "suggest": { + "ext-gmp": "To convert GMP numbers into PHP code" + }, + "type": "library", + "autoload": { + "psr-4": { + "Riimu\\Kit\\PHPEncoder\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Riikka Kalliomäki", + "email": "riikka.kalliomaki@gmail.com", + "homepage": "http://riimu.net" + } + ], + "description": "Highly customizable alternative to var_export for PHP code generation", + "homepage": "http://kit.riimu.net", + "keywords": [ + "code", + "encoder", + "export", + "generator", + "variable" + ], + "time": "2018-07-03T12:46:23+00:00" } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], - "time": "2020-01-04T16:30:31+00:00" - }, - { - "name": "odan/phinx-migrations-generator", - "version": "5.1.2", - "source": { - "type": "git", - "url": "https://github.com/odan/phinx-migrations-generator.git", - "reference": "f3cb7cc6bc7eb22e85f34f229b6d476e96d99c73" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/odan/phinx-migrations-generator/zipball/f3cb7cc6bc7eb22e85f34f229b6d476e96d99c73", - "reference": "f3cb7cc6bc7eb22e85f34f229b6d476e96d99c73", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-json": "*", + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "ext-phalcon": "~3.4", + "ext-redis": "~5.0", "ext-pdo": "*", - "php": "^7.2", - "riimu/kit-phpencoder": "^2.4", - "robmorgan/phinx": "^0.12", - "symfony/console": "^2.8 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16", - "overtrue/phplint": "^1.1", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^8 || ^9", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "./bin/phinx-migrations" - ], - "type": "library", - "autoload": { - "psr-4": { - "Odan\\Migration\\": "src/Migration/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Migration generator for Phinx", - "homepage": "https://github.com/odan/phinx-migrations-generator", - "keywords": [ - "database", - "generator", - "migration", - "migrations", - "mysql", - "phinx" - ], - "time": "2020-06-15T19:36:35+00:00" + "ext-json": "*", + "ext-fileinfo": "*" }, - { - "name": "phalcon/ide-stubs", - "version": "v3.4.3", - "source": { - "type": "git", - "url": "https://github.com/phalcon/ide-stubs.git", - "reference": "65144f2b0fad32b182ccb062b1efc1b4edea5d44" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phalcon/ide-stubs/zipball/65144f2b0fad32b182ccb062b1efc1b4edea5d44", - "reference": "65144f2b0fad32b182ccb062b1efc1b4edea5d44", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Phalcon Team", - "email": "team@phalconphp.com", - "homepage": "https://phalconphp.com/en/team" - }, - { - "name": "Contributors", - "homepage": "https://github.com/phalcon/ide-stubs/graphs/contributors" - } - ], - "description": "The most complete Phalcon Framework IDE stubs library which enables autocompletion in modern IDEs.", - "homepage": "https://phalconphp.com", - "keywords": [ - "Devtools", - "Eclipse", - "autocomplete", - "ide", - "netbeans", - "phalcon", - "phpstorm", - "stub", - "stubs" - ], - "time": "2018-12-09T14:11:06+00:00" - }, - { - "name": "riimu/kit-phpencoder", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/Riimu/Kit-PHPEncoder.git", - "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Riimu/Kit-PHPEncoder/zipball/7e876d25019c3f6c23321ab5ac1a55c72fcd0933", - "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.6.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.2 || ^6.5 || ^5.7" - }, - "suggest": { - "ext-gmp": "To convert GMP numbers into PHP code" - }, - "type": "library", - "autoload": { - "psr-4": { - "Riimu\\Kit\\PHPEncoder\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Riikka Kalliomäki", - "email": "riikka.kalliomaki@gmail.com", - "homepage": "http://riimu.net" - } - ], - "description": "Highly customizable alternative to var_export for PHP code generation", - "homepage": "http://kit.riimu.net", - "keywords": [ - "code", - "encoder", - "export", - "generator", - "variable" - ], - "time": "2018-07-03T12:46:23+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v4.4.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "be330f919bdb395d1e0c3f2bfb8948512d6bdd99" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/be330f919bdb395d1e0c3f2bfb8948512d6bdd99", - "reference": "be330f919bdb395d1e0c3f2bfb8948512d6bdd99", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "time": "2019-12-18T13:41:29+00:00" - }, - { - "name": "tightenco/collect", - "version": "v5.8.35", - "source": { - "type": "git", - "url": "https://github.com/tightenco/collect.git", - "reference": "c93a7039e6207ad533a09109838fe80933fcc72c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tightenco/collect/zipball/c93a7039e6207ad533a09109838fe80933fcc72c", - "reference": "c93a7039e6207ad533a09109838fe80933fcc72c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1.3", - "symfony/var-dumper": ">=3.4 <5" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "nesbot/carbon": "^1.26.3", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/Collect/Support/helpers.php", - "src/Collect/Support/alias.php" - ], - "psr-4": { - "Tightenco\\Collect\\": "src/Collect" - } - }, - "notification-url": "https://packagist.jp/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com" - } - ], - "description": "Collect - Illuminate Collections as a separate package.", - "keywords": [ - "collection", - "laravel" - ], - "time": "2019-09-17T18:57:01+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "ext-phalcon": "~3.4", - "ext-redis": "~5.0", - "ext-pdo": "*", - "ext-json": "*", - "ext-fileinfo": "*" - }, - "platform-dev": [], - "plugin-api-version": "1.1.0" + "platform-dev": [], + "plugin-api-version": "1.1.0" } diff --git a/db/migrations/20200827112717_insert_setting_data.php b/db/migrations/20200827112717_insert_setting_data.php index 955feb10..485c54e9 100644 --- a/db/migrations/20200827112717_insert_setting_data.php +++ b/db/migrations/20200827112717_insert_setting_data.php @@ -10,6 +10,11 @@ final class InsertSettingData extends AbstractMigration public function up() { $rows = [ + [ + 'section' => 'captcha', + 'item_key' => 'enabled', + 'item_value' => '0', + ], [ 'section' => 'captcha', 'item_key' => 'app_id', @@ -21,7 +26,7 @@ final class InsertSettingData extends AbstractMigration 'item_value' => '', ], [ - 'section' => 'captcha', + 'section' => 'im.cs', 'item_key' => 'enabled', 'item_value' => '0', ], @@ -32,8 +37,8 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'im.cs', - 'item_key' => 'enabled', - 'item_value' => '0', + 'item_key' => 'user2_id', + 'item_value' => '', ], [ 'section' => 'im.cs', @@ -41,20 +46,15 @@ final class InsertSettingData extends AbstractMigration 'item_value' => '', ], [ - 'section' => 'im.cs', - 'item_key' => 'user2_id', - 'item_value' => '', + 'section' => 'im.main', + 'item_key' => 'title', + 'item_value' => '菜鸟驿站', ], [ 'section' => 'im.main', 'item_key' => 'msg_max_length', 'item_value' => '1000', ], - [ - 'section' => 'im.main', - 'item_key' => 'title', - 'item_value' => '菜鸟驿站', - ], [ 'section' => 'im.main', 'item_key' => 'upload_img_enabled', @@ -82,52 +82,52 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'live.push', - 'item_key' => 'push_auth_enabled', + 'item_key' => 'auth_enabled', 'item_value' => '1', ], [ 'section' => 'live.push', - 'item_key' => 'push_auth_key', + 'item_key' => 'auth_key', 'item_value' => '', ], [ 'section' => 'live.push', - 'item_key' => 'push_auth_delta', + 'item_key' => 'auth_delta', 'item_value' => '18000', ], [ 'section' => 'live.pull', - 'item_key' => 'pull_protocol', + 'item_key' => 'protocol', 'item_value' => 'http', ], [ 'section' => 'live.pull', - 'item_key' => 'pull_domain', + 'item_key' => 'domain', 'item_value' => '', ], [ 'section' => 'live.pull', - 'item_key' => 'pull_trans_enabled', + 'item_key' => 'trans_enabled', 'item_value' => '0', ], [ 'section' => 'live.pull', - 'item_key' => 'pull_auth_enabled', + 'item_key' => 'auth_enabled', 'item_value' => '1', ], [ 'section' => 'live.pull', - 'item_key' => 'pull_auth_key', + 'item_key' => 'auth_key', 'item_value' => '', ], [ 'section' => 'live.pull', - 'item_key' => 'pull_auth_delta', + 'item_key' => 'auth_delta', 'item_value' => '18000', ], [ 'section' => 'live.notify', - 'item_key' => 'pull_auth_key', + 'item_key' => 'auth_key', 'item_value' => '', ], [ @@ -170,6 +170,11 @@ final class InsertSettingData extends AbstractMigration 'item_key' => 'smtp_encryption', 'item_value' => 'ssl', ], + [ + 'section' => 'mailer', + 'item_key' => 'smtp_authentication', + 'item_value' => '1', + ], [ 'section' => 'mailer', 'item_key' => 'smtp_username', @@ -191,10 +196,15 @@ final class InsertSettingData extends AbstractMigration 'item_value' => 'ABC有限公司', ], [ - 'section' => 'mailer', - 'item_key' => 'smtp_authentication', + 'section' => 'pay.alipay', + 'item_key' => 'enabled', 'item_value' => '1', ], + [ + 'section' => 'pay.alipay', + 'item_key' => 'app_id', + 'item_value' => '', + ], [ 'section' => 'pay.alipay', 'item_key' => 'public_key', @@ -207,34 +217,19 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'pay.alipay', + 'item_key' => 'return_url', + 'item_value' => '', + ], + [ + 'section' => 'pay.alipay', + 'item_key' => 'notify_url', + 'item_value' => '', + ], + [ + 'section' => 'pay.wxpay', 'item_key' => 'enabled', 'item_value' => '1', ], - [ - 'section' => 'pay.alipay', - 'item_key' => 'return_url', - 'item_value' => '', - ], - [ - 'section' => 'pay.alipay', - 'item_key' => 'notify_url', - 'item_value' => '', - ], - [ - 'section' => 'pay.alipay', - 'item_key' => 'app_id', - 'item_value' => '', - ], - [ - 'section' => 'pay.wxpay', - 'item_key' => 'notify_url', - 'item_value' => '', - ], - [ - 'section' => 'pay.wxpay', - 'item_key' => 'return_url', - 'item_value' => '', - ], [ 'section' => 'pay.wxpay', 'item_key' => 'app_id', @@ -252,8 +247,13 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'pay.wxpay', - 'item_key' => 'enabled', - 'item_value' => '1', + 'item_key' => 'notify_url', + 'item_value' => '', + ], + [ + 'section' => 'pay.wxpay', + 'item_key' => 'return_url', + 'item_value' => '', ], [ 'section' => 'secret', @@ -270,6 +270,11 @@ final class InsertSettingData extends AbstractMigration 'item_key' => 'app_id', 'item_value' => '', ], + [ + 'section' => 'site', + 'item_key' => 'title', + 'item_value' => '酷瓜云课堂', + ], [ 'section' => 'site', 'item_key' => 'keywords', @@ -277,9 +282,29 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'site', - 'item_key' => 'analytics', + 'item_key' => 'description', + 'item_value' => '酷瓜云课堂,依托腾讯云基础服务,使用C扩展框架PHALCON开发', + ], + [ + 'section' => 'site', + 'item_key' => 'url', 'item_value' => '', ], + [ + 'section' => 'site', + 'item_key' => 'enabled', + 'item_value' => '1', + ], + [ + 'section' => 'site', + 'item_key' => 'closed_tips', + 'item_value' => '站点维护中,请稍后再访问。', + ], + [ + 'section' => 'site', + 'item_key' => 'copyright', + 'item_value' => '2016-2020 深圳市酷瓜软件有限公司', + ], [ 'section' => 'site', 'item_key' => 'icp_sn', @@ -302,34 +327,9 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'site', - 'item_key' => 'copyright', - 'item_value' => '2016-2020 深圳市酷瓜软件有限公司', - ], - [ - 'section' => 'site', - 'item_key' => 'base_url', + 'item_key' => 'analytics', 'item_value' => '', ], - [ - 'section' => 'site', - 'item_key' => 'enabled', - 'item_value' => '1', - ], - [ - 'section' => 'site', - 'item_key' => 'closed_tips', - 'item_value' => '站点维护中,请稍后再访问。', - ], - [ - 'section' => 'site', - 'item_key' => 'description', - 'item_value' => '酷瓜云课堂,依托腾讯云基础服务,使用C扩展框架PHALCON开发', - ], - [ - 'section' => 'site', - 'item_key' => 'title', - 'item_value' => '酷瓜云课堂', - ], [ 'section' => 'smser', 'item_key' => 'app_id', @@ -337,8 +337,8 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'smser', - 'item_key' => 'template', - 'item_value' => '{"verify":{"id":"561282","content":"验证码:{1},{2} 分钟内有效,如非本人操作请忽略。"},"order":{"id":"561954","content":"下单成功,商品名称:{1},订单序号:{2},订单金额:¥{3}"},"refund":{"id":"561286","content":"退款成功,商品名称:{1},订单序号:{2},退款金额:¥{3}"},"live":{"id":"561288","content":"直播预告,课程名称:{1},章节名称:{2},开播时间:{3}"}}', + 'item_key' => 'app_key', + 'item_value' => '', ], [ 'section' => 'smser', @@ -347,64 +347,29 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'smser', - 'item_key' => 'app_key', + 'item_key' => 'template', + 'item_value' => '{"verify":{"id":"561282","content":"验证码:{1},{2} 分钟内有效,如非本人操作请忽略。"},"order":{"id":"561954","content":"下单成功,商品名称:{1},订单序号:{2},订单金额:¥{3}"},"refund":{"id":"561286","content":"退款成功,商品名称:{1},订单序号:{2},退款金额:¥{3}"},"live":{"id":"561288","content":"直播预告,课程名称:{1},章节名称:{2},开播时间:{3}"}}', + ], + [ + 'section' => 'cos', + 'item_key' => 'bucket', 'item_value' => '', ], [ - 'section' => 'storage', - 'item_key' => 'ci_protocol', + 'section' => 'cos', + 'item_key' => 'region', + 'item_value' => '', + ], + [ + 'section' => 'cos', + 'item_key' => 'protocol', 'item_value' => 'https', ], [ - 'section' => 'storage', - 'item_key' => 'bucket_name', + 'section' => 'cos', + 'item_key' => 'domain', 'item_value' => '', ], - [ - 'section' => 'storage', - 'item_key' => 'ci_domain', - 'item_value' => '', - ], - [ - 'section' => 'storage', - 'item_key' => 'bucket_region', - 'item_value' => '', - ], - [ - 'section' => 'storage', - 'item_key' => 'bucket_protocol', - 'item_value' => 'https', - ], - [ - 'section' => 'storage', - 'item_key' => 'bucket_domain', - 'item_value' => '', - ], - [ - 'section' => 'vod', - 'item_key' => 'dist_protocol', - 'item_value' => 'https', - ], - [ - 'section' => 'vod', - 'item_key' => 'watermark_enabled', - 'item_value' => '1', - ], - [ - 'section' => 'vod', - 'item_key' => 'watermark_template', - 'item_value' => '462027', - ], - [ - 'section' => 'vod', - 'item_key' => 'audio_format', - 'item_value' => 'mp3', - ], - [ - 'section' => 'vod', - 'item_key' => 'video_format', - 'item_value' => 'hls', - ], [ 'section' => 'vod', 'item_key' => 'storage_type', @@ -417,14 +382,39 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'vod', - 'item_key' => 'key_anti_ip_limit', - 'item_value' => '', + 'item_key' => 'audio_format', + 'item_value' => 'mp3', + ], + [ + 'section' => 'vod', + 'item_key' => 'video_format', + 'item_value' => 'hls', + ], + [ + 'section' => 'vod', + 'item_key' => 'watermark_enabled', + 'item_value' => '1', + ], + [ + 'section' => 'vod', + 'item_key' => 'watermark_template', + 'item_value' => '462027', + ], + [ + 'section' => 'vod', + 'item_key' => 'dist_protocol', + 'item_value' => 'https', ], [ 'section' => 'vod', 'item_key' => 'dist_domain', 'item_value' => '', ], + [ + 'section' => 'vod', + 'item_key' => 'key_anti_enabled', + 'item_value' => '1', + ], [ 'section' => 'vod', 'item_key' => 'key_anti_key', @@ -437,8 +427,8 @@ final class InsertSettingData extends AbstractMigration ], [ 'section' => 'vod', - 'item_key' => 'key_anti_enabled', - 'item_value' => '1', + 'item_key' => 'key_anti_ip_limit', + 'item_value' => '', ], ]; diff --git a/public/static/desktop/css/common.css b/public/static/desktop/css/common.css index 25a59b98..7454b7f8 100644 --- a/public/static/desktop/css/common.css +++ b/public/static/desktop/css/common.css @@ -73,6 +73,7 @@ } .pager { + margin-top: 20px; text-align: center; }