Compare commits

...
32 Commits
Author SHA1 Message Date
Hide_D 6282445f7d feat: 토너먼트 베팅에서 모든 NPC가 10원씩 베팅함
- 추가로 베팅 공지
2021-11-16 23:12:32 +09:00
Hide_D bf244533f7 game: 국력, 랜임 계산식에서 유저장 전투력 계수를 NPC의 1.5로 설정 2021-11-16 22:40:47 +09:00
Hide_D 5ebfaf24ee feat: 토너먼트 비중을 강제로 조정 2021-11-16 22:18:29 +09:00
Hide_D 0c0283dc02 feat: '능동 행동 수' 유산 포인트 추가
- 거병, 건국, 방량, 선양, 모반
- 임관, 랜덤임관, 장수대상임관, 등용수락, 하야
- 출병(500명 이상, 훈사 7070 초과)
- 인재탐색 성공(난도에 따라 추가 보정)
- 첩보(예외, 0.5)
- 증축, 감축, 국기변경, 국호변경, 천도성공
2021-11-16 21:38:55 +09:00
Hide_D 375b08be87 feat: NPC정책 최대 포상량 지정 2021-11-16 20:45:16 +09:00
Hide_D cbc8f94b0a game: 국고가 2000 밑으로 가더라도 무조건 물자조달만 하지는 않게 수정정 2021-11-16 20:01:50 +09:00
Hide_D bdac8d163d game: 전특 요구 포인트 감소, 버프 요구 포인트 감소 2021-11-16 19:37:16 +09:00
Hide_D 1f61f37841 fix: 토큰 갱신 시 UserID가 잘못된 버그 수정정 2021-11-14 22:55:37 +09:00
Hide_D 51d523ae72 game: 국력 계산식에 랜덤임관 계산식 일부를 반영 2021-11-14 18:45:28 +09:00
Hide_D 3f9e4962e6 fix: 서버 정지로 의심되는 opcache_reset 해제
- 현재 validate timestamp를 켜서 사용하도록 유도
2021-11-14 13:31:30 +09:00
Hide_D f8fc4fe56b misc: 미활용 함수/상수 제거 2021-11-14 13:20:19 +09:00
Hide_D fb64b7e412 feat: NPC 거병, 이동 로직 대폭 개선
- 근처에 세울 도시를 보고 거병
- 원하는 도시를 정하고 그 도시를 향해 이동
2021-11-14 05:06:39 +09:00
Hide_D 3209cfbc45 fix: warning 제거거 2021-11-14 04:15:04 +09:00
Hide_D 8a99476136 game: 랜덤임관 평가 기준 변경
- 전투 기준을 총 전투 대신 대인 전투로
- 내정 능력에 무력, 지력 비율 반영영
2021-11-14 02:51:40 +09:00
Hide_D eb80f8d111 feat: 자율행동 표기를 휴식(자율행동)으로 변경 2021-11-14 02:47:53 +09:00
Hide_D afde3ce54d game: 랜덤임관 가중치 변경 2021-11-14 02:39:09 +09:00
Hide_D c4b61fec17 game: 작위 보상에도 최대 보유 유니크 수 적용 2021-11-14 00:50:09 +09:00
Hide_D 0b74abf300 game: 랜덤임관 로직에 전투력과 내정능력을 적극적으로 반영영 2021-11-14 00:46:46 +09:00
Hide_D e6c3c9f1d4 fix: 자율턴에서 '월' 표기 빠짐 2021-11-13 16:48:49 +09:00
Hide_D 4e7560b4ed feat: 자율행동 휴식을 명시적으로 자율행동으로 표기 2021-11-13 16:37:47 +09:00
Hide_D 542491b278 feat: 자율턴 한계 표기 2021-11-13 16:33:11 +09:00
Hide_D d36439355d fix: 자율행동턴 시간 제한이 동작하지 않던 버그 수정 2021-11-13 16:05:03 +09:00
Hide_D 4a80815b39 game: 기간별 최대 유니크 획득 수 변경경 2021-11-13 02:25:52 +09:00
Hide_D 6dc57f2566 fix: 자동로그인 과정 버그 수정정 2021-11-11 00:37:29 +09:00
Hide_D 07e8511ce1 game: snipe_combat 제거거 2021-11-08 23:31:56 +09:00
Hide_D 8e927831f5 fix: dummySession 인자 수정정 2021-11-08 23:27:37 +09:00
Hide_D 2c533d2ab3 dep: package update 2021-11-08 16:10:01 +09:00
Hide_D 38208750e7 game: 수비자는 전멸 시 증가하는 사기량을 50%만 적용 2021-11-08 15:20:23 +09:00
Hide_D df14d7c306 game: 반계 효과 유니크 시도 확률 반감 2021-11-08 15:16:15 +09:00
Hide_D b3612db7d2 game: 피장파장 턴을 60턴 기준으로 변경(72턴 동일) 2021-11-08 15:11:24 +09:00
Hide_D 8d90da659e game: 피장파장 딜레이를 최소 72턴으로로 2021-11-08 15:10:45 +09:00
Hide_D f8ddbc0622 game: 종횡가 전략 딜레이를 1/2에서 3/4으로로 2021-11-08 15:08:21 +09:00
833 changed files with 5154 additions and 21339 deletions
+1 -2
View File
@@ -8,7 +8,7 @@
], ],
"config": { "config": {
"platform": { "platform": {
"php": "7.4" "php": "8.0"
} }
}, },
"require": { "require": {
@@ -16,7 +16,6 @@
"sergeytsalkov/meekrodb": "^2.3", "sergeytsalkov/meekrodb": "^2.3",
"league/plates": "^3.3", "league/plates": "^3.3",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^6.3",
"scssphp/scssphp": "^1.0",
"monolog/monolog": "^1.23", "monolog/monolog": "^1.23",
"firephp/firephp-core": "^0.4.0", "firephp/firephp-core": "^0.4.0",
"vlucas/valitron": "^1.4", "vlucas/valitron": "^1.4",
Generated
+214 -221
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "317938cff7b30806f4e385a70f4943fc", "content-hash": "94cfbcb22b9f475e421ad5009391006f",
"packages": [ "packages": [
{ {
"name": "brandonwamboldt/utilphp", "name": "brandonwamboldt/utilphp",
@@ -122,16 +122,16 @@
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
"version": "3.2.5", "version": "3.2.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/semver.git", "url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" "reference": "83e511e247de329283478496f7a1e114c9517506"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -183,7 +183,7 @@
"support": { "support": {
"irc": "irc://irc.freenode.org/composer", "irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues", "issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5" "source": "https://github.com/composer/semver/tree/3.2.6"
}, },
"funding": [ "funding": [
{ {
@@ -199,7 +199,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-05-24T12:41:47+00:00" "time": "2021-10-25T11:34:17+00:00"
}, },
{ {
"name": "composer/xdebug-handler", "name": "composer/xdebug-handler",
@@ -267,34 +267,30 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "2.0.3", "version": "2.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Inflector\\": "lib/Doctrine/Inflector" "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
@@ -342,7 +338,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/inflector/issues", "issues": "https://github.com/doctrine/inflector/issues",
"source": "https://github.com/doctrine/inflector/tree/2.0.x" "source": "https://github.com/doctrine/inflector/tree/2.0.4"
}, },
"funding": [ "funding": [
{ {
@@ -358,7 +354,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2020-05-29T15:13:26+00:00" "time": "2021-10-22T20:16:43+00:00"
}, },
{ {
"name": "erusev/parsedown", "name": "erusev/parsedown",
@@ -674,16 +670,16 @@
}, },
{ {
"name": "guzzlehttp/promises", "name": "guzzlehttp/promises",
"version": "1.4.1", "version": "1.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/promises.git", "url": "https://github.com/guzzle/promises.git",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -695,7 +691,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4-dev" "dev-master": "1.5-dev"
} }
}, },
"autoload": { "autoload": {
@@ -711,10 +707,25 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"description": "Guzzle promises library", "description": "Guzzle promises library",
@@ -723,22 +734,36 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/promises/issues", "issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.4.1" "source": "https://github.com/guzzle/promises/tree/1.5.1"
}, },
"time": "2021-03-07T09:25:29+00:00" "funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
"type": "tidelift"
}
],
"time": "2021-10-22T20:56:57+00:00"
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "1.8.2", "version": "1.8.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91" "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91", "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -775,13 +800,34 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://github.com/sagikazarmark"
},
{ {
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
} }
], ],
@@ -798,22 +844,36 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/psr7/issues", "issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.8.2" "source": "https://github.com/guzzle/psr7/tree/1.8.3"
}, },
"time": "2021-04-26T09:17:50+00:00" "funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
"type": "tidelift"
}
],
"time": "2021-10-05T13:56:00+00:00"
}, },
{ {
"name": "illuminate/bus", "name": "illuminate/bus",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/bus.git", "url": "https://github.com/illuminate/bus.git",
"reference": "808097c0dfd893309bd77b00139586c516b965c9" "reference": "be400399687b97d5558a224e970060fd5d5f2735"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/bus/zipball/808097c0dfd893309bd77b00139586c516b965c9", "url": "https://api.github.com/repos/illuminate/bus/zipball/be400399687b97d5558a224e970060fd5d5f2735",
"reference": "808097c0dfd893309bd77b00139586c516b965c9", "reference": "be400399687b97d5558a224e970060fd5d5f2735",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -853,20 +913,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-08-10T16:49:48+00:00" "time": "2021-10-21T19:19:36+00:00"
}, },
{ {
"name": "illuminate/collections", "name": "illuminate/collections",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/collections.git", "url": "https://github.com/illuminate/collections.git",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d" "reference": "05f286ec5fd2dd286e8384577047efc375c8954c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/18fa841df912ec56849351dd6ca8928e8a98b69d", "url": "https://api.github.com/repos/illuminate/collections/zipball/05f286ec5fd2dd286e8384577047efc375c8954c",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d", "reference": "05f286ec5fd2dd286e8384577047efc375c8954c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -907,20 +967,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-08T12:48:16+00:00" "time": "2021-10-22T18:01:46+00:00"
}, },
{ {
"name": "illuminate/container", "name": "illuminate/container",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/container.git", "url": "https://github.com/illuminate/container.git",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0" "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/container/zipball/862b64ea4ab56e307a1676104a1b93295d347ad0", "url": "https://api.github.com/repos/illuminate/container/zipball/ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0", "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -958,20 +1018,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-09T13:55:23+00:00" "time": "2021-09-15T14:32:50+00:00"
}, },
{ {
"name": "illuminate/contracts", "name": "illuminate/contracts",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/contracts.git", "url": "https://github.com/illuminate/contracts.git",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913" "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/contracts/zipball/ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "url": "https://api.github.com/repos/illuminate/contracts/zipball/e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1006,20 +1066,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-08T12:09:40+00:00" "time": "2021-10-22T18:01:46+00:00"
}, },
{ {
"name": "illuminate/database", "name": "illuminate/database",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/database.git", "url": "https://github.com/illuminate/database.git",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693" "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/database/zipball/acc11d6839ddb3b694bc6585177fa5141b70c693", "url": "https://api.github.com/repos/illuminate/database/zipball/43c7ffb6299ae55b000b286cf1278afd268ef29f",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693", "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1033,7 +1093,7 @@
"symfony/console": "^5.1.4" "symfony/console": "^5.1.4"
}, },
"suggest": { "suggest": {
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"illuminate/console": "Required to use the database commands (^8.0).", "illuminate/console": "Required to use the database commands (^8.0).",
"illuminate/events": "Required to use the observers with Eloquent (^8.0).", "illuminate/events": "Required to use the observers with Eloquent (^8.0).",
@@ -1074,20 +1134,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-13T18:43:43+00:00" "time": "2021-10-29T19:46:53+00:00"
}, },
{ {
"name": "illuminate/events", "name": "illuminate/events",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/events.git", "url": "https://github.com/illuminate/events.git",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e" "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/events/zipball/7def78033f29cd0c0383513b27c291d233a7f90e", "url": "https://api.github.com/repos/illuminate/events/zipball/b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e", "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1129,11 +1189,11 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-08-16T21:45:47+00:00" "time": "2021-09-15T14:32:50+00:00"
}, },
{ {
"name": "illuminate/macroable", "name": "illuminate/macroable",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/macroable.git", "url": "https://github.com/illuminate/macroable.git",
@@ -1179,7 +1239,7 @@
}, },
{ {
"name": "illuminate/pipeline", "name": "illuminate/pipeline",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/pipeline.git", "url": "https://github.com/illuminate/pipeline.git",
@@ -1227,16 +1287,16 @@
}, },
{ {
"name": "illuminate/support", "name": "illuminate/support",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/support.git", "url": "https://github.com/illuminate/support.git",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30" "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "url": "https://api.github.com/repos/illuminate/support/zipball/a8851b7001530d3c11626a81449ed9b63dd10db7",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1246,7 +1306,7 @@
"illuminate/collections": "^8.0", "illuminate/collections": "^8.0",
"illuminate/contracts": "^8.0", "illuminate/contracts": "^8.0",
"illuminate/macroable": "^8.0", "illuminate/macroable": "^8.0",
"nesbot/carbon": "^2.31", "nesbot/carbon": "^2.53.1",
"php": "^7.3|^8.0", "php": "^7.3|^8.0",
"voku/portable-ascii": "^1.4.8" "voku/portable-ascii": "^1.4.8"
}, },
@@ -1255,8 +1315,8 @@
}, },
"suggest": { "suggest": {
"illuminate/filesystem": "Required to use the composer class (^8.0).", "illuminate/filesystem": "Required to use the composer class (^8.0).",
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0).", "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
"ramsey/uuid": "Required to use Str::uuid() (^4.0).", "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
"symfony/process": "Required to use the composer class (^5.1.4).", "symfony/process": "Required to use the composer class (^5.1.4).",
"symfony/var-dumper": "Required to use the dd function (^5.1.4).", "symfony/var-dumper": "Required to use the dd function (^5.1.4).",
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
@@ -1291,7 +1351,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-13T18:43:43+00:00" "time": "2021-10-29T13:34:03+00:00"
}, },
{ {
"name": "league/plates", "name": "league/plates",
@@ -1490,16 +1550,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.53.1", "version": "2.54.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1510,6 +1570,7 @@
"symfony/translation": "^3.4 || ^4.0 || ^5.0" "symfony/translation": "^3.4 || ^4.0 || ^5.0"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.0 || ^3.0",
"doctrine/orm": "^2.7", "doctrine/orm": "^2.7",
"friendsofphp/php-cs-fixer": "^3.0", "friendsofphp/php-cs-fixer": "^3.0",
"kylekatarnls/multi-tester": "^2.0", "kylekatarnls/multi-tester": "^2.0",
@@ -1580,7 +1641,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-09-06T09:29:23+00:00" "time": "2021-11-01T21:22:20+00:00"
}, },
{ {
"name": "netresearch/jsonmapper", "name": "netresearch/jsonmapper",
@@ -1773,20 +1834,20 @@
}, },
{ {
"name": "nette/utils", "name": "nette/utils",
"version": "v3.2.2", "version": "v3.2.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nette/utils.git", "url": "https://github.com/nette/utils.git",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2 <8.1" "php": ">=7.2 <8.2"
}, },
"conflict": { "conflict": {
"nette/di": "<3.0.6" "nette/di": "<3.0.6"
@@ -1852,9 +1913,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nette/utils/issues", "issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v3.2.2" "source": "https://github.com/nette/utils/tree/v3.2.5"
}, },
"time": "2021-03-03T22:53:25+00:00" "time": "2021-09-20T10:50:11+00:00"
}, },
{ {
"name": "pguardiario/phpuri", "name": "pguardiario/phpuri",
@@ -2110,16 +2171,16 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "5.2.2", "version": "5.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2130,7 +2191,8 @@
"webmozart/assert": "^1.9.1" "webmozart/assert": "^1.9.1"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "~1.3.2" "mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -2160,22 +2222,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
}, },
"time": "2020-09-03T19:13:55+00:00" "time": "2021-10-19T17:43:47+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
"version": "1.4.0", "version": "1.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git", "url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2183,7 +2245,8 @@
"phpdocumentor/reflection-common": "^2.0" "phpdocumentor/reflection-common": "^2.0"
}, },
"require-dev": { "require-dev": {
"ext-tokenizer": "*" "ext-tokenizer": "*",
"psalm/phar": "^4.8"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -2209,26 +2272,26 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues", "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
}, },
"time": "2020-09-17T18:55:26+00:00" "time": "2021-10-02T14:08:47+00:00"
}, },
{ {
"name": "psr/container", "name": "psr/container",
"version": "1.1.1", "version": "1.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/container.git", "url": "https://github.com/php-fig/container.git",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2.0" "php": ">=7.4.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@@ -2257,9 +2320,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/php-fig/container/issues", "issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.1" "source": "https://github.com/php-fig/container/tree/1.1.2"
}, },
"time": "2021-03-05T17:36:06+00:00" "time": "2021-11-05T16:50:12+00:00"
}, },
{ {
"name": "psr/http-message", "name": "psr/http-message",
@@ -2461,23 +2524,23 @@
}, },
{ {
"name": "sabre/event", "name": "sabre/event",
"version": "5.1.2", "version": "5.1.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sabre-io/event.git", "url": "https://github.com/sabre-io/event.git",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a" "reference": "d7da22897125d34d7eddf7977758191c06a74497"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sabre-io/event/zipball/c120bec57c17b6251a496efc82b732418b49d50a", "url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a", "reference": "d7da22897125d34d7eddf7977758191c06a74497",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1 || ^8.0" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "~2.16.1", "friendsofphp/php-cs-fixer": "~2.17.1",
"phpstan/phpstan": "^0.12", "phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
}, },
@@ -2523,80 +2586,7 @@
"issues": "https://github.com/sabre-io/event/issues", "issues": "https://github.com/sabre-io/event/issues",
"source": "https://github.com/fruux/sabre-event" "source": "https://github.com/fruux/sabre-event"
}, },
"time": "2020-10-03T11:02:22+00:00" "time": "2021-11-04T06:51:17+00:00"
},
{
"name": "scssphp/scssphp",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/scssphp/scssphp.git",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/scssphp/scssphp/zipball/b83594e2323c5d6e80785df3f91b9d1d32aad530",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"php": ">=5.6.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4",
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4",
"sass/sass-spec": "*",
"squizlabs/php_codesniffer": "~3.5",
"symfony/phpunit-bridge": "^5.1",
"twbs/bootstrap": "~5.0",
"twbs/bootstrap4": "4.6.0",
"zurb/foundation": "~6.5"
},
"suggest": {
"ext-iconv": "Can be used as fallback when ext-mbstring is not available",
"ext-mbstring": "For best performance, mbstring should be installed as it is faster than ext-iconv"
},
"bin": [
"bin/pscss"
],
"type": "library",
"autoload": {
"psr-4": {
"ScssPhp\\ScssPhp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthon Pang",
"email": "apang@softwaredevelopment.ca",
"homepage": "https://github.com/robocoder"
},
{
"name": "Cédric Morin",
"email": "cedric@yterium.com",
"homepage": "https://github.com/Cerdic"
}
],
"description": "scssphp is a compiler for SCSS written in PHP.",
"homepage": "http://scssphp.github.io/scssphp/",
"keywords": [
"css",
"less",
"sass",
"scss",
"stylesheet"
],
"support": {
"issues": "https://github.com/scssphp/scssphp/issues",
"source": "https://github.com/scssphp/scssphp/tree/v1.6.0"
},
"time": "2021-07-02T16:28:10+00:00"
}, },
{ {
"name": "sergeytsalkov/meekrodb", "name": "sergeytsalkov/meekrodb",
@@ -2648,16 +2638,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v5.3.6", "version": "v5.3.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2727,7 +2717,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v5.3.6" "source": "https://github.com/symfony/console/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -2743,7 +2733,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-07-27T19:10:22+00:00" "time": "2021-10-26T09:30:15+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@@ -2814,16 +2804,16 @@
}, },
{ {
"name": "symfony/lock", "name": "symfony/lock",
"version": "v4.4.27", "version": "v4.4.33",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/lock.git", "url": "https://github.com/symfony/lock.git",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486" "reference": "567d29b1bc6e3937652054dafc069151d17824a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/lock/zipball/6ca476d4ac992802f2a4043929f68f1818449486", "url": "https://api.github.com/repos/symfony/lock/zipball/567d29b1bc6e3937652054dafc069151d17824a9",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486", "reference": "567d29b1bc6e3937652054dafc069151d17824a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2872,7 +2862,7 @@
"semaphore" "semaphore"
], ],
"support": { "support": {
"source": "https://github.com/symfony/lock/tree/v4.4.27" "source": "https://github.com/symfony/lock/tree/v4.4.33"
}, },
"funding": [ "funding": [
{ {
@@ -2888,7 +2878,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-07-23T15:41:52+00:00" "time": "2021-10-05T20:27:01+00:00"
}, },
{ {
"name": "symfony/polyfill-ctype", "name": "symfony/polyfill-ctype",
@@ -3620,16 +3610,16 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v5.3.3", "version": "v5.3.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3683,7 +3673,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v5.3.3" "source": "https://github.com/symfony/string/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -3699,20 +3689,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-06-27T11:44:38+00:00" "time": "2021-10-27T18:21:46+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v5.3.7", "version": "v5.3.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6" "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3778,7 +3768,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v5.3.7" "source": "https://github.com/symfony/translation/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -3794,7 +3784,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-08-26T08:22:53+00:00" "time": "2021-10-10T06:43:24+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
@@ -3876,16 +3866,16 @@
}, },
{ {
"name": "tysonandre/var_representation_polyfill", "name": "tysonandre/var_representation_polyfill",
"version": "0.0.2", "version": "0.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/TysonAndre/var_representation_polyfill.git", "url": "https://github.com/TysonAndre/var_representation_polyfill.git",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33" "reference": "0a942e74e18af5514749895507bc6ca7ab96399a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/3f17999ee1f257319ddc6721dd26ebbc5d175f33", "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/0a942e74e18af5514749895507bc6ca7ab96399a",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33", "reference": "0a942e74e18af5514749895507bc6ca7ab96399a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3896,6 +3886,9 @@
"phan/phan": "^4.0", "phan/phan": "^4.0",
"phpunit/phpunit": "^8.5.0" "phpunit/phpunit": "^8.5.0"
}, },
"suggest": {
"ext-var_representation": "*"
},
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@@ -3914,16 +3907,16 @@
"name": "Tyson Andre" "name": "Tyson Andre"
} }
], ],
"description": "Polyfill for var_representation", "description": "Polyfill for var_representation: convert a variable to a string in a way that fixes the shortcomings of var_export",
"keywords": [ "keywords": [
"var_export", "var_export",
"var_representation" "var_representation"
], ],
"support": { "support": {
"issues": "https://github.com/TysonAndre/var_representation_polyfill/issues", "issues": "https://github.com/TysonAndre/var_representation_polyfill/issues",
"source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.0.2" "source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.1.1"
}, },
"time": "2021-06-26T18:55:02+00:00" "time": "2021-08-16T00:12:50+00:00"
}, },
{ {
"name": "vlucas/valitron", "name": "vlucas/valitron",
@@ -4181,7 +4174,7 @@
"platform": [], "platform": [],
"platform-dev": [], "platform-dev": [],
"platform-overrides": { "platform-overrides": {
"php": "7.4" "php": "8.0"
}, },
"plugin-api-version": "2.0.0" "plugin-api-version": "2.0.0"
} }
+43 -19
View File
@@ -1348,17 +1348,29 @@ function triggerTournament()
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$admin = $gameStor->getValues(['tournament', 'tnmt_trig']); [$tournament, $tnmt_trig, $tnmt_pattern] = $gameStor->getValuesAsArray(['tournament', 'tnmt_trig', 'tnmt_pattern']);
//현재 토너먼트 없고, 자동개시 걸려있을때, 40%확률 //현재 토너먼트 없고, 자동개시 걸려있을때, 40%확률
if ($admin['tournament'] == 0 && $admin['tnmt_trig'] > 0 && rand() % 100 < 40) { if($tournament != 0){
$type = rand() % 5; // 0 : 전력전, 1 : 통솔전, 2 : 일기토, 3 : 설전 return;
}
if($tnmt_trig == 0){
return;
}
if(!Util::randBool(0.4)){
return;
}
if(!$tnmt_pattern){
// 0 : 전력전, 1 : 통솔전, 2 : 일기토, 3 : 설전
//전력전 40%, 통, 일, 설 각 20% //전력전 40%, 통, 일, 설 각 20%
if ($type > 3) { $tnmt_pattern = [0, 0, 1, 2, 3];
$type = 0; shuffle($tnmt_pattern);
}
startTournament($admin['tnmt_trig'], $type);
} }
$tnmt_type = array_pop($tnmt_pattern);
$gameStor->setValue('tnmt_pattern', $tnmt_pattern);
startTournament($tnmt_trig, $tnmt_type);
} }
function CheckHall($no) function CheckHall($no)
@@ -1840,21 +1852,26 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
return false; return false;
} }
$inheritUnique = $general->getAuxVar('inheritUniqueTrial'); $itemTypeCnt = count(GameConst::$allItems);
if ($acquireType != '설문조사' && $inheritUnique && count($inheritUnique)) {
LogText("유니크 준비?? {$general->getID()}", $inheritUnique); [$startYear, $year] = $gameStor->getValuesAsArray(['startyear', 'year']);
$trialResult = tryInheritUniqueItem($general, $acquireType); $relYear = $year - $startYear;
if ($trialResult) { $maxTrialCountByYear = 1;
return true; foreach(GameConst::$maxUniqueItemLimit as $tmpVals){
[$targetYear, $targetTrialCnt] = $tmpVals;
if($relYear < $targetYear){
break;
} }
$maxTrialCountByYear = $targetTrialCnt;
} }
$itemTypeCnt = count(GameConst::$allItems); $trialCnt = Util::valueFit($itemTypeCnt, null, $maxTrialCountByYear);
$trialCnt = $itemTypeCnt; $maxCnt = $itemTypeCnt;
foreach ($general->getItems() as $item) { foreach ($general->getItems() as $item) {
if (!$item->isBuyable()) { if (!$item->isBuyable()) {
$trialCnt -= 1; $trialCnt -= 1;
$maxCnt -= 1;
} }
} }
@@ -1866,10 +1883,17 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
$userLogger = new UserLogger($general->getVar('owner')); $userLogger = new UserLogger($general->getVar('owner'));
$userLogger->push(sprintf("유니크를 얻을 공간이 없어 %d 포인트 반환", GameConst::$inheritItemRandomPoint), "inheritPoint"); $userLogger->push(sprintf("유니크를 얻을 공간이 없어 %d 포인트 반환", GameConst::$inheritItemRandomPoint), "inheritPoint");
} }
tryRollbackInheritUniqueItem($general);
return false; return false;
} }
$inheritUnique = $general->getAuxVar('inheritUniqueTrial');
if ($acquireType != '설문조사' && $inheritUnique && count($inheritUnique)) {
$trialResult = tryInheritUniqueItem($general, $acquireType);
if ($trialResult) {
return true;
}
}
$scenario = $gameStor->scenario; $scenario = $gameStor->scenario;
$genCount = $db->queryFirstField('SELECT count(*) FROM general WHERE npc<2'); $genCount = $db->queryFirstField('SELECT count(*) FROM general WHERE npc<2');
@@ -1899,7 +1923,7 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
$prob = 1; $prob = 1;
} }
foreach (Util::range($trialCnt) as $_idx) { foreach (Util::range($maxCnt) as $_idx) {
if (Util::randBool($prob)) { if (Util::randBool($prob)) {
$result = true; $result = true;
break; break;
@@ -1907,10 +1931,10 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
$prob *= $moreProb; $prob *= $moreProb;
} }
if (!$result) { if (!$result) {
LogText("{$general->getName()}, {$general->getID()} 유니크 실패 {$trialCnt}", $prob); LogText("{$general->getName()}, {$general->getID()} 유니크 실패 {$maxCnt}", $prob);
return false; return false;
} }
LogText("{$general->getName()}, {$general->getID()} 유니크 성공 {$trialCnt}", $prob); LogText("{$general->getName()}, {$general->getID()} 유니크 성공 {$maxCnt}", $prob);
return giveRandomUniqueItem($general, $acquireType); return giveRandomUniqueItem($general, $acquireType);
} }
+24 -7
View File
@@ -167,7 +167,8 @@ function checkSupply()
} }
} }
function updateGeneralNumber(){ function updateGeneralNumber()
{
$db = DB::db(); $db = DB::db();
foreach ($db->queryAllLists('SELECT nation, count(*) FROM general WHERE npc != 5 GROUP BY nation') as [$nationID, $gennum]) { foreach ($db->queryAllLists('SELECT nation, count(*) FROM general WHERE npc != 5 GROUP BY nation') as [$nationID, $gennum]) {
if ($nationID === 0) { if ($nationID === 0) {
@@ -370,7 +371,11 @@ function postUpdateMonthly()
sum(pop)*sum(pop+agri+comm+secu+wall+def)/sum(pop_max+agri_max+comm_max+secu_max+wall_max+def_max)/100 sum(pop)*sum(pop+agri+comm+secu+wall+def)/sum(pop_max+agri_max+comm_max+secu_max+wall_max+def_max)/100
) from city where nation=A.nation and supply=1 ) from city where nation=A.nation and supply=1
)) ))
+(select sum(leadership+strength+intel) from general where nation=A.nation) +(select SUM((ra.value + 1000)/(rb.value + 1000)*(CASE WHEN g.`npc` < 2 THEN 1.5 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)*2 + (SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/2)
FROM general AS g
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = \'killcrew_person\'
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = \'deathcrew_person\'
WHERE g.nation = A.nation)
+(select round(sum(dex1+dex2+dex3+dex4+dex5)/1000) from general where nation=A.nation) +(select round(sum(dex1+dex2+dex3+dex4+dex5)/1000) from general where nation=A.nation)
+(select round(sum(experience+dedication)/100) from general where nation=A.nation) +(select round(sum(experience+dedication)/100) from general where nation=A.nation)
+(select round(avg(connect)) from general where nation=A.nation) +(select round(avg(connect)) from general where nation=A.nation)
@@ -435,8 +440,7 @@ function postUpdateMonthly()
foreach ($db->queryAllLists('SELECT me,you FROM diplomacy WHERE state=0 AND term <= 1 ORDER BY me desc, you desc') as [$me, $you]) { foreach ($db->queryAllLists('SELECT me,you FROM diplomacy WHERE state=0 AND term <= 1 ORDER BY me desc, you desc') as [$me, $you]) {
if ($me < $you) { if ($me < $you) {
$key = "{$me}_{$you}"; $key = "{$me}_{$you}";
} } else {
else{
$key = "{$you}_{$me}"; $key = "{$you}_{$me}";
} }
if (!key_exists($key, $stopWarList)) { if (!key_exists($key, $stopWarList)) {
@@ -627,11 +631,22 @@ function updateNationState()
$chiefID = null; $chiefID = null;
$uniqueLotteryWeightList = []; $uniqueLotteryWeightList = [];
[$startYear, $year] = $gameStor->getValuesAsArray(['startyear', 'year']);
$relYear = $year - $startYear;
$maxTrialCountByYear = 1;
foreach (GameConst::$maxUniqueItemLimit as $tmpVals) {
[$targetYear, $targetTrialCnt] = $tmpVals;
if ($relYear < $targetYear) {
break;
}
$maxTrialCountByYear = $targetTrialCnt;
}
foreach ($nationGenList as $nationGen) { foreach ($nationGenList as $nationGen) {
if ($nationGen->getVar('officer_level') == 12) { if ($nationGen->getVar('officer_level') == 12) {
$chiefID = $nationGen->getID(); $chiefID = $nationGen->getID();
} }
$trialCnt = count(GameConst::$allItems); $trialCnt = min($maxTrialCountByYear, count(GameConst::$allItems));
foreach ($nationGen->getItems() as $item) { foreach ($nationGen->getItems() as $item) {
if (!$item->isBuyable()) { if (!$item->isBuyable()) {
@@ -1152,7 +1167,8 @@ function checkEmperior()
LogHistory(); LogHistory();
} }
function resetInheritanceUser(int $userID, bool $isRebirth=false):float{ function resetInheritanceUser(int $userID, bool $isRebirth = false): float
{
$rebirthDegraded = [ $rebirthDegraded = [
'dex' => 0.5, 'dex' => 0.5,
]; ];
@@ -1190,7 +1206,8 @@ function resetInheritanceUser(int $userID, bool $isRebirth=false):float{
return $totalPoint; return $totalPoint;
} }
function updateMaxDomesticCritical(General $general, $score){ function updateMaxDomesticCritical(General $general, $score)
{
$maxDomesticCritical = $general->getAuxVar('max_domestic_critical') ?? 0; $maxDomesticCritical = $general->getAuxVar('max_domestic_critical') ?? 0;
$maxDomesticCritical += $score / 2; $maxDomesticCritical += $score / 2;
$general->setAuxVar('max_domestic_critical', $maxDomesticCritical); $general->setAuxVar('max_domestic_critical', $maxDomesticCritical);
-11
View File
@@ -77,12 +77,6 @@ function pushProcessLog($log) {
pushRawFileLog(__DIR__."/logs/".UniqueConst::$serverID."/_{$date}_processlog.txt", $log); pushRawFileLog(__DIR__."/logs/".UniqueConst::$serverID."/_{$date}_processlog.txt", $log);
} }
function pushStepLog($log) {
$date = date('Y_m_d');
pushRawFileLog(__DIR__."/logs/".UniqueConst::$serverID."/_{$date}_steplog.txt", $log);
}
function pushLockLog($log) { function pushLockLog($log) {
$date = date('Y_m_d'); $date = date('Y_m_d');
pushRawFileLog(__DIR__."/logs/".UniqueConst::$serverID."/_{$date}_locklog.txt", $log); pushRawFileLog(__DIR__."/logs/".UniqueConst::$serverID."/_{$date}_locklog.txt", $log);
@@ -378,8 +372,6 @@ function getGlobalActionLogWithDate(int $year, int $month):array {
} }
function LogHistory($isFirst=0) { function LogHistory($isFirst=0) {
if(STEP_LOG) pushStepLog(TimeUtil::now().', LogHistory Start');
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$obj = $gameStor->getValues(['startyear', 'year', 'month']); $obj = $gameStor->getValues(['startyear', 'year', 'month']);
@@ -426,8 +418,6 @@ function LogHistory($isFirst=0) {
return -($lhs['power']<=>$rhs['power']); return -($lhs['power']<=>$rhs['power']);
}); });
if(STEP_LOG) pushStepLog(TimeUtil::now().', contents collected');
$db->insert('ng_history', [ $db->insert('ng_history', [
'server_id' => UniqueConst::$serverID, 'server_id' => UniqueConst::$serverID,
'year' => $year, 'year' => $year,
@@ -438,6 +428,5 @@ function LogHistory($isFirst=0) {
'nations' => Json::encode($nations), 'nations' => Json::encode($nations),
]); ]);
if(STEP_LOG) pushStepLog(TimeUtil::now().', LogHistory Finish');
return true; return true;
} }
+50 -8
View File
@@ -8,8 +8,7 @@ function processTournament() {
$admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'tnmt_auto', 'tnmt_time']); $admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'tnmt_auto', 'tnmt_time']);
$now = new \DateTime(); $now = new \DateTime();
$admin['now'] = $now->format('Y-m-d H:i:s'); $offset = $now->getTimestamp() - (new \DateTime($admin['tnmt_time']))->getTimestamp();
$admin['offset'] = $now->getTimestamp() - (new \DateTime($admin['tnmt_time']))->getTimestamp();
//수동일땐 무시 //수동일땐 무시
if($admin['tnmt_auto'] == 0) { return; } if($admin['tnmt_auto'] == 0) { return; }
@@ -18,8 +17,11 @@ function processTournament() {
$tnmt = $admin['tournament']; $tnmt = $admin['tournament'];
$phase = $admin['phase']; $phase = $admin['phase'];
if($offset < 0){
return;
}
//현시간이 스탬프 지나친경우 //현시간이 스탬프 지나친경우
if($admin['offset'] >= 0) {
switch($admin['tnmt_auto']) { switch($admin['tnmt_auto']) {
case 1: $unit = 720; break; case 1: $unit = 720; break;
case 2: $unit = 420; break; case 2: $unit = 420; break;
@@ -32,7 +34,7 @@ function processTournament() {
} }
//업데이트 횟수 //업데이트 횟수
$iter = intdiv($admin['offset'], $unit) + 1; $iter = intdiv($offset, $unit) + 1;
for($i=0; $i < $iter; $i++) { for($i=0; $i < $iter; $i++) {
switch($tnmt) { switch($tnmt) {
@@ -55,6 +57,7 @@ function processTournament() {
case 5: //배정중 case 5: //배정중
final16set(); final16set();
$tnmt = 6; $phase = 0; $tnmt = 6; $phase = 0;
startBetting();
break; break;
case 6: //베팅중 case 6: //베팅중
$tnmt = 7; $phase = 0; $tnmt = 7; $phase = 0;
@@ -111,7 +114,6 @@ function processTournament() {
$gameStor->phase = $phase; $gameStor->phase = $phase;
$gameStor->tnmt_time = (new \DateTimeImmutable($admin['tnmt_time']))->add(new \DateInterval("PT{$second}S"))->format('Y-m-d H:i:s'); $gameStor->tnmt_time = (new \DateTimeImmutable($admin['tnmt_time']))->add(new \DateInterval("PT{$second}S"))->format('Y-m-d H:i:s');
} }
}
function getTournamentTerm() { function getTournamentTerm() {
$db = DB::db(); $db = DB::db();
@@ -296,11 +298,51 @@ function startTournament($auto, $type) {
['설전','책사'], ['설전','책사'],
][$type]; ][$type];
$history[] = "<S>◆</>{$admin['year']}{$admin['month']}월:{$openerText}<C>{$typeText}</> 대회가 개최됩니다! 천하의 <span class='ev_highlight'>{$genTypeText}</span>들을 모집하고 있습니다!"; $history[] = "<S>◆</>{$admin['year']}{$admin['month']}월:<B><b>【대회】</b></>{$openerText}<C>{$typeText}</> 대회가 개최됩니다! 천하의 <span class='ev_highlight'>{$genTypeText}</span>들을 모집하고 있습니다!";
pushGlobalHistoryLog($history, $admin['year'], $admin['month']); pushGlobalHistoryLog($history, $admin['year'], $admin['month']);
} }
function startBetting(){
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
[$year, $month] = $gameStor->getValuesAsArray(['year', 'month']);
pushGlobalHistoryLog([
"<S>◆</>{$year}{$month}월:<B><b>【대회】</b></>우승자를 예상하는 <C>내기</>가 진행중입니다! 호사가의 참여를 기다립니다!"
], $year, $month);
$betGold = 10;
$npcList = $db->queryFirstColumn('SELECT no FROM general WHERE npc >= 2 AND gold >= (500 + %i)', $betGold);
$npcBet = [];
$betSum = [
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
];
foreach($npcList as $npcID){
$target = Util::randRangeInt(0, 15);
$betSum[$target] += $betGold;
$npcBet[] = [$npcID, $target];
}
$db->update('general', [
'gold'=>$db->sqleval('gold - %i', $betGold),
], 'no IN %li', $npcList);
foreach($npcBet as [$npcID, $betTarget]){
$targetKey = "bet{$betTarget}";
$db->update('betting', [
"bet{$betTarget}"=>$db->sqleval('%b + %i', $targetKey, $betGold),
], 'general_id = %i', $npcID);
}
foreach($betSum as $betTarget=>$betSumGold){
$targetKey = "bet{$betTarget}";
$db->update('betting', [
"bet{$betTarget}"=>$db->sqleval('%b + %i', $targetKey, $betSumGold),
], 'general_id = 0');
}
}
function fillLowGenAll() { function fillLowGenAll() {
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
@@ -785,8 +827,8 @@ function setGift($tnmt_type, $tnmt, $phase) {
$josaYiWinner = JosaUtil::pick($winner['name'], '이'); $josaYiWinner = JosaUtil::pick($winner['name'], '이');
$josaYiRunnerUp = JosaUtil::pick($runnerUp['name'], '이'); $josaYiRunnerUp = JosaUtil::pick($runnerUp['name'], '이');
$winnerLogger->pushGlobalHistoryLog("<C>{$tp}</> 대회에서 <Y>{$winner['name']}</>{$josaYiWinner} <C>우승</>, <Y>{$runnerUp['name']}</>{$josaYiRunnerUp} <C>준우승</>을 차지하여 천하에 이름을 떨칩니다!", ActionLogger::EVENT_YEAR_MONTH); $winnerLogger->pushGlobalHistoryLog("<B><b>【대회】</b></><C>{$tp}</> 대회에서 <Y>{$winner['name']}</>{$josaYiWinner} <C>우승</>, <Y>{$runnerUp['name']}</>{$josaYiRunnerUp} <C>준우승</>을 차지하여 천하에 이름을 떨칩니다!", ActionLogger::EVENT_YEAR_MONTH);
$winnerLogger->pushGlobalHistoryLog("<C>{$tp}</> 대회의 <S>우승자</>에게는 <C>{$winnerRewardText}</>, <S>준우승자</>에겐 <C>{$runnerUpRewardText}</>의 <S>상금</>과 약간의 <S>명성</>이 주어집니다!", ActionLogger::EVENT_YEAR_MONTH); $winnerLogger->pushGlobalHistoryLog("<B><b>【대회】</b></><C>{$tp}</> 대회의 <S>우승자</>에게는 <C>{$winnerRewardText}</>, <S>준우승자</>에겐 <C>{$runnerUpRewardText}</>의 <S>상금</>과 약간의 <S>명성</>이 주어집니다!", ActionLogger::EVENT_YEAR_MONTH);
$generalObjList = General::createGeneralObjListFromDB(array_keys($resultHelper)); $generalObjList = General::createGeneralObjListFromDB(array_keys($resultHelper));
+5 -2
View File
@@ -21,9 +21,11 @@ foreach($rawTurn as [$turn_idx, $action, $arg, $brief]){
]; ];
} }
[$turnTerm, $year, $month, $lastExecute] = $gameStor->getValuesAsArray(['turnterm', 'year', 'month', 'turntime']); [$turnTerm, $year, $month, $lastExecute] = $gameStor->getValuesAsArray(['turnterm', 'year', 'month', 'turntime']);
$turnTime = $db->queryFirstField('SELECT turntime FROM general WHERE no=%i', $generalID); [$turnTime, $rawGeneralAux] = $db->queryFirstList('SELECT turntime, aux FROM general WHERE no=%i', $generalID);
$generalAux = Json::decode($rawGeneralAux??'{}');
if(cutTurn($turnTime, $turnTerm) > cutTurn($lastExecute, $turnTerm)){ if(cutTurn($turnTime, $turnTerm) > cutTurn($lastExecute, $turnTerm)){
//이미 이번달에 실행된 턴이다. //이미 이번달에 실행된 턴이다.
@@ -42,5 +44,6 @@ Json::die([
'year'=>$year, 'year'=>$year,
'month'=>$month, 'month'=>$month,
'date'=>TimeUtil::now(true), 'date'=>TimeUtil::now(true),
'turn'=>$commandList 'turn'=>$commandList,
'autorun_limit'=> $generalAux['autorun_limit']??null,
]); ]);
-4
View File
@@ -20,10 +20,6 @@ $loader->addClassMap((function () {
//디버그용 매크로 //디버그용 매크로
ini_set("session.cache_expire", 10080); // minutes ini_set("session.cache_expire", 10080); // minutes
// 각종 변수
define('STEP_LOG', true);
define('PROCESS_LOG', true);
ob_start(); ob_start();
// 에러 메세지 출력 // 에러 메세지 출력
+2
View File
@@ -264,12 +264,14 @@ function processWar_NG(
$attackerCrewTypeCoef = $attacker->getCrewType()->getAttackCoef($defender->getCrewType()) * $defender->getCrewType()->getDefenceCoef($attacker->getCrewType()); $attackerCrewTypeCoef = $attacker->getCrewType()->getAttackCoef($defender->getCrewType()) * $defender->getCrewType()->getDefenceCoef($attacker->getCrewType());
$defenderCrewTypeCoef = $defender->getCrewType()->getAttackCoef($attacker->getCrewType()) * $attacker->getCrewType()->getDefenceCoef($defender->getCrewType()); $defenderCrewTypeCoef = $defender->getCrewType()->getAttackCoef($attacker->getCrewType()) * $attacker->getCrewType()->getDefenceCoef($defender->getCrewType());
/*
if($attackerCrewTypeCoef > $defenderCrewTypeCoef && $attacker instanceof WarUnitGeneral){ if($attackerCrewTypeCoef > $defenderCrewTypeCoef && $attacker instanceof WarUnitGeneral){
$attacker->getGeneral()->increaseInheritancePoint('snipe_combat', 1); $attacker->getGeneral()->increaseInheritancePoint('snipe_combat', 1);
} }
if($defenderCrewTypeCoef > $attackerCrewTypeCoef && $defender instanceof WarUnitGeneral){ if($defenderCrewTypeCoef > $attackerCrewTypeCoef && $defender instanceof WarUnitGeneral){
$defender->getGeneral()->increaseInheritancePoint('snipe_combat', 1); $defender->getGeneral()->increaseInheritancePoint('snipe_combat', 1);
} }
*/
$attackerName = $attacker->getName(); $attackerName = $attacker->getName();
$attackerCrewTypeName = $attacker->getCrewTypeName(); $attackerCrewTypeName = $attacker->getCrewTypeName();
@@ -15,7 +15,7 @@ class che_반계_백우선 extends \sammo\BaseItem{
protected $id = 45; protected $id = 45;
protected $rawName = '백우선'; protected $rawName = '백우선';
protected $name = '백우선(반계)'; protected $name = '백우선(반계)';
protected $info = '[전투] 상대의 계략 성공 확률 -10%p, 상대의 계략을 40% 확률로 되돌림'; protected $info = '[전투] 상대의 계략 성공 확률 -10%p, 상대의 계략을 20% 확률로 되돌림';
protected $cost = 200; protected $cost = 200;
protected $consumable = false; protected $consumable = false;
@@ -29,7 +29,7 @@ class che_반계_백우선 extends \sammo\BaseItem{
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller( return new WarUnitTriggerCaller(
new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*301), new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*301, 0.2),
new che_반계발동($unit) new che_반계발동($unit)
); );
} }
@@ -15,7 +15,7 @@ class che_반계_파초선 extends \sammo\BaseItem{
protected $id = 45; protected $id = 45;
protected $rawName = '파초선'; protected $rawName = '파초선';
protected $name = '파초선(반계)'; protected $name = '파초선(반계)';
protected $info = '[전투] 상대의 계략 성공 확률 -10%p, 상대의 계략을 40% 확률로 되돌림'; protected $info = '[전투] 상대의 계략 성공 확률 -10%p, 상대의 계략을 20% 확률로 되돌림';
protected $cost = 200; protected $cost = 200;
protected $consumable = false; protected $consumable = false;
@@ -29,7 +29,7 @@ class che_반계_파초선 extends \sammo\BaseItem{
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller( return new WarUnitTriggerCaller(
new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*302), new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*302, 0.2),
new che_반계발동($unit) new che_반계발동($unit)
); );
} }
@@ -16,12 +16,12 @@ class che_서적_07_사마법 extends \sammo\BaseStatItem{
public function __construct() public function __construct()
{ {
parent::__construct(); parent::__construct();
$this->info .= "<br>[전투] 상대의 계략을 20% 확률로 되돌림"; $this->info .= "<br>[전투] 상대의 계략을 10% 확률로 되돌림";
} }
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller( return new WarUnitTriggerCaller(
new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM+BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*207, 0.2), new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM+BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*207, 0.1),
new che_반계발동($unit) new che_반계발동($unit)
); );
} }
@@ -16,12 +16,12 @@ class che_서적_12_산해경 extends \sammo\BaseStatItem{
public function __construct() public function __construct()
{ {
parent::__construct(); parent::__construct();
$this->info .= "<br>[전투] 상대의 계략을 20% 확률로 되돌림"; $this->info .= "<br>[전투] 상대의 계략을 10% 확률로 되돌림";
} }
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller( return new WarUnitTriggerCaller(
new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM, 0.2), new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM, 0.1),
new che_반계발동($unit) new che_반계발동($unit)
); );
} }
+1 -1
View File
@@ -35,7 +35,7 @@ class che_종횡가 extends \sammo\BaseNation{
public function onCalcStrategic(string $turnType, string $varType, $value){ public function onCalcStrategic(string $turnType, string $varType, $value){
if($varType == 'delay'){ if($varType == 'delay'){
return Util::round($value / 2); return Util::round($value * 3 / 4);
} }
if($varType == 'globalDelay'){ if($varType == 'globalDelay'){
return Util::round($value / 2); return Util::round($value / 2);
+2
View File
@@ -137,6 +137,7 @@ class AutorunNationPolicy {
public $reqNPCDevelRice = 500; public $reqNPCDevelRice = 500;
public $minimumResourceActionAmount = 1000; public $minimumResourceActionAmount = 1000;
public $maximumResourceActionAmount = 10000;
public $minNPCWarLeadership = 40; public $minNPCWarLeadership = 40;
public $minWarCrew = 1500; public $minWarCrew = 1500;
@@ -164,6 +165,7 @@ class AutorunNationPolicy {
'reqNPCDevelRice'=>500, 'reqNPCDevelRice'=>500,
'minimumResourceActionAmount'=>1000, 'minimumResourceActionAmount'=>1000,
'maximumResourceActionAmount'=>10000,
'minNPCWarLeadership'=>40, 'minNPCWarLeadership'=>40,
'minWarCrew'=>1500, 'minWarCrew'=>1500,
+1
View File
@@ -162,6 +162,7 @@ class che_거병 extends Command\GeneralCommand{
$exp = 100; $exp = 100;
$ded = 100; $ded = 100;
$general->increaseInheritancePoint('active_action', 1);
$general->addExperience($exp); $general->addExperience($exp);
$general->addDedication($ded); $general->addDedication($ded);
$general->setVar('belong', 1); $general->setVar('belong', 1);
+1
View File
@@ -188,6 +188,7 @@ class che_건국 extends Command\GeneralCommand
refreshNationStaticInfo(); refreshNationStaticInfo();
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange(); $general->checkStatChange();
tryUniqueItemLottery($general, '건국'); tryUniqueItemLottery($general, '건국');
@@ -194,7 +194,7 @@ class che_등용수락 extends Command\GeneralCommand{
} }
$db->update('nation', $setScoutNationValues, 'nation=%i', $destNationID); $db->update('nation', $setScoutNationValues, 'nation=%i', $destNationID);
$general->increaseInheritancePoint('active_action', 1);
$general->setVar('permission', 'normal'); $general->setVar('permission', 'normal');
$general->setVar('belong', 1); $general->setVar('belong', 1);
$general->setVar('officer_level', 1); $general->setVar('officer_level', 1);
+20 -26
View File
@@ -181,51 +181,44 @@ class che_랜덤임관 extends Command\GeneralCommand
$generalsCnt = []; $generalsCnt = [];
if ($notIn) { if ($notIn) {
$rawGeneralsCnt = $db->query( $rawGeneralsCnt = $db->query(
'SELECT general.nation as nation, nation.gennum, nation.name, npc, count(*) as cnt FROM general JOIN nation ON general.nation = nation.nation WHERE (npc < 4 OR npc = 6) AND nation.gennum < %i AND nation.scout=0 AND nation.nation NOT IN %li GROUP BY general.nation, general.npc', "SELECT g.`nation`, n.`gennum`, n.name, SUM((ra.value + 1000)/(rb.value + 1000)*(CASE WHEN g.`npc` < 2 THEN 1.5 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)) AS warpower, SUM(SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/5 AS develpower
FROM general AS g
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = 'killcrew_person'
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
LEFT JOIN `nation` AS n ON g.`nation` = n.`nation`
WHERE g.`npc` IN (0, 1, 2, 3, 6) AND g.nation != 0 AND n.scout=0 AND n.gennum < %i AND n.nation NOT IN %li
GROUP BY g.`nation`",
$genLimit, $genLimit,
$notIn $notIn
); );
} else { } else {
$rawGeneralsCnt = $db->query( $rawGeneralsCnt = $db->query(
'SELECT general.nation as nation, nation.gennum, nation.name, npc, count(*) as cnt FROM general JOIN nation ON general.nation = nation.nation WHERE (npc < 4 OR npc = 6) AND nation.gennum < %i AND nation.scout=0 GROUP BY general.nation, general.npc', "SELECT g.`nation`, n.`gennum`, n.name, SUM((ra.value + 100)/(rb.value + 100)*(CASE WHEN g.`npc` < 2 THEN 1.5 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)) AS warpower, SUM(SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/5 AS develpower
FROM general AS g
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = 'killcrew_person'
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
LEFT JOIN `nation` AS n ON g.`nation` = n.`nation`
WHERE g.`npc` IN (0, 1, 2, 3, 6) AND g.nation != 0 AND n.scout=0 AND n.gennum < %i
GROUP BY g.`nation`",
$genLimit $genLimit
); );
} }
foreach ($rawGeneralsCnt as $nation) { foreach ($rawGeneralsCnt as $nation) {
$nationID = $nation['nation']; $calcCnt = $nation['warpower'] + $nation['develpower'];
if (!\key_exists($nationID, $generalsCnt)) {
$generalsCnt[$nationID] = [
'nation' => $nationID,
'gennum' => $nation['gennum'],
'name' => $nation['name'],
'cnt' => 0,
];
$generalsCnt[$nationID]['cnt'] = 0;
}
if ($nation['npc'] <= 2) {
$calcCnt = $nation['cnt'];
} else {
$calcCnt = $nation['cnt'] / 2;
}
if ($general->getNPCType() < 2 && Util::starts_with($nation['name'], 'ⓤ')) { if ($general->getNPCType() < 2 && Util::starts_with($nation['name'], 'ⓤ')) {
$calcCnt *= 100; $calcCnt *= 100;
} }
$generalsCnt[$nationID]['cnt'] += $calcCnt; $generalsCnt[] = [$nation, (1 / $calcCnt)**3];
} }
$randVals = []; if ($generalsCnt) {
foreach ($generalsCnt as $testNation) { $destNation = Util::choiceRandomUsingWeightPair($generalsCnt);
$randVals[] = [$testNation, 1 / $testNation['cnt']];
}
if ($randVals) {
$destNation = Util::choiceRandomUsingWeightPair($randVals);
} }
} }
@@ -292,6 +285,7 @@ class che_랜덤임관 extends Command\GeneralCommand
$general->setAuxVar('joinedNations', $joinedNations); $general->setAuxVar('joinedNations', $joinedNations);
} }
$general->increaseInheritancePoint('active_action', 1);
$general->addExperience($exp); $general->addExperience($exp);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange(); $general->checkStatChange();
@@ -96,6 +96,7 @@ class che_모반시도 extends Command\GeneralCommand{
$lordLogger->pushGeneralHistoryLog("<D><b>{$generalName}</b></>의 모반으로 인해 <D><b>{$nationName}</b></>의 군주자리를 박탈당함"); $lordLogger->pushGeneralHistoryLog("<D><b>{$generalName}</b></>의 모반으로 인해 <D><b>{$nationName}</b></>의 군주자리를 박탈당함");
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->increaseInheritancePoint('active_action', 1);
$general->checkStatChange(); $general->checkStatChange();
tryRollbackInheritUniqueItem($general); tryRollbackInheritUniqueItem($general);
$general->applyDB($db); $general->applyDB($db);
+1 -1
View File
@@ -121,7 +121,7 @@ class che_방랑 extends Command\GeneralCommand{
], 'me=%i OR you=%i', $nationID, $nationID); ], 'me=%i OR you=%i', $nationID, $nationID);
refreshNationStaticInfo(); refreshNationStaticInfo();
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
tryRollbackInheritUniqueItem($general); tryRollbackInheritUniqueItem($general);
$general->applyDB($db); $general->applyDB($db);
+1
View File
@@ -135,6 +135,7 @@ class che_선양 extends Command\GeneralCommand
$logger->pushGeneralHistoryLog("<D><b>{$nationName}</b></>의 군주자리를 <Y>{$destGeneralName}</>에게 선양"); $logger->pushGeneralHistoryLog("<D><b>{$nationName}</b></>의 군주자리를 <Y>{$destGeneralName}</>에게 선양");
$destLogger->pushGeneralHistoryLog("<D><b>{$nationName}</b></>의 군주자리를 물려 받음"); $destLogger->pushGeneralHistoryLog("<D><b>{$nationName}</b></>의 군주자리를 물려 받음");
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange(); $general->checkStatChange();
tryRollbackInheritUniqueItem($general); tryRollbackInheritUniqueItem($general);
@@ -210,6 +210,7 @@ class che_인재탐색 extends Command\GeneralCommand
$exp = 200; $exp = 200;
$ded = 300; $ded = 300;
$general->increaseInheritancePoint('active_action', Util::valueFit(sqrt(1 / $foundProp), 1));
$general->increaseVarWithLimit('gold', -$reqGold, 0); $general->increaseVarWithLimit('gold', -$reqGold, 0);
$general->increaseVarWithLimit('rice', -$reqRice, 0); $general->increaseVarWithLimit('rice', -$reqRice, 0);
$general->addExperience($exp); $general->addExperience($exp);
+1
View File
@@ -171,6 +171,7 @@ class che_임관 extends Command\GeneralCommand{
$general->setAuxVar('joinedNations', $joinedNations); $general->setAuxVar('joinedNations', $joinedNations);
} }
$general->increaseInheritancePoint('active_action', 1);
$general->addExperience($exp); $general->addExperience($exp);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange(); $general->checkStatChange();
@@ -176,6 +176,7 @@ class che_장수대상임관 extends Command\GeneralCommand{
$general->setAuxVar('joinedNations', $joinedNations); $general->setAuxVar('joinedNations', $joinedNations);
} }
$general->increaseInheritancePoint('active_action', 1);
$general->addExperience($exp); $general->addExperience($exp);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange(); $general->checkStatChange();
+1
View File
@@ -211,6 +211,7 @@ class che_첩보 extends Command\GeneralCommand
$ded = Util::randRangeInt(1, 70); $ded = Util::randRangeInt(1, 70);
[$reqGold, $reqRice] = $this->getCost(); [$reqGold, $reqRice] = $this->getCost();
$general->increaseInheritancePoint('active_action', 0.5);//NOTE: 첩보만 예외!
$general->increaseVarWithLimit('gold', -$reqGold, 0); $general->increaseVarWithLimit('gold', -$reqGold, 0);
$general->increaseVarWithLimit('rice', -$reqRice, 0); $general->increaseVarWithLimit('rice', -$reqRice, 0);
$general->addExperience($exp); $general->addExperience($exp);
+5 -1
View File
@@ -223,9 +223,13 @@ class che_출병 extends Command\GeneralCommand
$this->destCity['term'] = 3; $this->destCity['term'] = 3;
$general->addDex($general->getCrewTypeObj(), $general->getVar('crew') / 100); $general->addDex($general->getCrewTypeObj(), $general->getVar('crew') / 100);
if($general->getVar('crew') > 500 && $general->getVar('train') * $general->getVar('atmos') > 70 * 70){
//500명 이상, 모훈출, 모사출
$general->increaseInheritancePoint('active_action', 1);
}
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->applyDB($db); $general->applyDB($db);
processWar($general, $this->nation, $this->destCity); processWar($general, $this->nation, $this->destCity);
+1
View File
@@ -101,6 +101,7 @@ class che_하야 extends Command\GeneralCommand{
$general->setVar('officer_city', 0); $general->setVar('officer_city', 0);
$general->setVar('belong', 0); $general->setVar('belong', 0);
$general->setVar('makelimit', 12); $general->setVar('makelimit', 12);
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange(); $general->checkStatChange();
+1
View File
@@ -199,6 +199,7 @@ class che_감축 extends Command\NationCommand{
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <G><b>{$destCityName}</b></>{$josaUl} <M>감축</>하였습니다."); $logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <G><b>{$destCityName}</b></>{$josaUl} <M>감축</>하였습니다.");
$logger->pushGlobalHistoryLog("<M><b>【감축】</b></><D><b>{$nationName}</b></>{$josaYiNation} <G><b>{$destCityName}</b></>{$josaUl} <M>감축</>하였습니다."); $logger->pushGlobalHistoryLog("<M><b>【감축】</b></><D><b>{$nationName}</b></>{$josaYiNation} <G><b>{$destCityName}</b></>{$josaUl} <M>감축</>하였습니다.");
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0)); $this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
$general->applyDB($db); $general->applyDB($db);
@@ -146,6 +146,7 @@ class che_국기변경 extends Command\NationCommand
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <span style='color:{$color};'><b>국기</b></span>를 변경하였습니다"); $logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <span style='color:{$color};'><b>국기</b></span>를 변경하였습니다");
$logger->pushGlobalHistoryLog("<S><b>【국기변경】</b></><D><b>{$nationName}</b></>{$josaYiNation} <span style='color:{$color};'><b>국기</b></span>를 변경하였습니다."); $logger->pushGlobalHistoryLog("<S><b>【국기변경】</b></><D><b>{$nationName}</b></>{$josaYiNation} <span style='color:{$color};'><b>국기</b></span>를 변경하였습니다.");
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0)); $this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
$general->applyDB($db); $general->applyDB($db);
return true; return true;
@@ -152,6 +152,7 @@ class che_국호변경 extends Command\NationCommand
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다."); $logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다.");
$logger->pushGlobalHistoryLog("<S><b>【국호변경】</b></><D><b>{$nationName}</b></>{$josaYiNation} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다."); $logger->pushGlobalHistoryLog("<S><b>【국호변경】</b></><D><b>{$nationName}</b></>{$josaYiNation} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다.");
$general->increaseInheritancePoint('active_action', 1);
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0)); $this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
$general->applyDB($db); $general->applyDB($db);
return true; return true;
+1
View File
@@ -162,6 +162,7 @@ class che_증축 extends Command\NationCommand{
$general->addExperience(5 * ($this->getPreReqTurn() + 1)); $general->addExperience(5 * ($this->getPreReqTurn() + 1));
$general->addDedication(5 * ($this->getPreReqTurn() + 1)); $general->addDedication(5 * ($this->getPreReqTurn() + 1));
$general->increaseInheritancePoint('active_action', 1);
$josaUl = JosaUtil::pick($destCityName, '을'); $josaUl = JosaUtil::pick($destCityName, '을');
$josaYi = JosaUtil::pick($generalName, '이'); $josaYi = JosaUtil::pick($generalName, '이');
+1
View File
@@ -218,6 +218,7 @@ class che_천도 extends Command\NationCommand
'capset' => $db->sqleval('capset + 1'), 'capset' => $db->sqleval('capset + 1'),
], 'nation=%i', $nationID); ], 'nation=%i', $nationID);
$general->increaseInheritancePoint('active_action', 1);
$logger->pushGeneralActionLog("<G><b>{$destCityName}</b></>{$josaRo} 천도했습니다. <1>$date</>"); $logger->pushGeneralActionLog("<G><b>{$destCityName}</b></>{$josaRo} 천도했습니다. <1>$date</>");
$logger->pushGeneralHistoryLog("<G><b>{$destCityName}</b></>{$josaRo} <M>천도</>명령"); $logger->pushGeneralHistoryLog("<G><b>{$destCityName}</b></>{$josaRo} <M>천도</>명령");
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <G><b>{$destCityName}</b></>{$josaRo} <M>천도</> 명령"); $logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <G><b>{$destCityName}</b></>{$josaRo} <M>천도</> 명령");
@@ -184,6 +184,7 @@ class che_초토화 extends Command\NationCommand{
\sammo\refreshNationStaticInfo(); \sammo\refreshNationStaticInfo();
\sammo\SetNationFront($nationID); \sammo\SetNationFront($nationID);
$general->increaseInheritancePoint('active_action', 1);
$logger->pushGeneralActionLog("<G><b>{$destCityName}</b></>{$josaUl} 초토화했습니다. <1>$date</>"); $logger->pushGeneralActionLog("<G><b>{$destCityName}</b></>{$josaUl} 초토화했습니다. <1>$date</>");
$logger->pushGeneralHistoryLog("<G><b>{$destCityName}</b></>{$josaUl} <M>초토화</> 명령"); $logger->pushGeneralHistoryLog("<G><b>{$destCityName}</b></>{$josaUl} <M>초토화</> 명령");
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <G><b>{$destCityName}</b></>{$josaUl} <M>초토화</> 명령"); $logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <G><b>{$destCityName}</b></>{$josaUl} <M>초토화</> 명령");
@@ -132,6 +132,7 @@ class che_피장파장 extends Command\NationCommand{
$nextTerm = Util::round(sqrt($genCount*2)*10); $nextTerm = Util::round(sqrt($genCount*2)*10);
$nextTerm = $this->generalObj->onCalcStrategic($this->getName(), 'delay', $nextTerm); $nextTerm = $this->generalObj->onCalcStrategic($this->getName(), 'delay', $nextTerm);
$nextTerm = Util::valueFit($nextTerm, Util::round(static::$delayCnt * 1.2));
return $nextTerm; return $nextTerm;
} }
+10 -3
View File
@@ -195,14 +195,21 @@ class GameConstBase
'che_은둔', 'None' 'che_은둔', 'None'
]; ];
public static $inheritBornSpecialPoint = 12000; public static $maxUniqueItemLimit = [
[-1, 1],
[3, 2],
[10, 3],
[20, 4]
];
public static $inheritBornSpecialPoint = 6000;
public static $inheritBornTurntimePoint = 3000; public static $inheritBornTurntimePoint = 3000;
public static $inheritBornCityPoint = 1000; public static $inheritBornCityPoint = 1000;
public static $inheritBornStatPoint = 1000; public static $inheritBornStatPoint = 1000;
public static $inheritItemUniqueMinPoint = 5000; public static $inheritItemUniqueMinPoint = 5000;
public static $inheritItemRandomPoint = 3000; public static $inheritItemRandomPoint = 3000;
public static $inheritBuffPoints = [0, 250, 750, 1500, 2500, 3750]; public static $inheritBuffPoints = [0, 200, 600, 1200, 2000, 3000];
public static $inheritSpecificSpecialPoint = 5000; public static $inheritSpecificSpecialPoint = 4000;
public static $inheritResetAttrPointBase = [1000, 1000, 2000, 3000];//필요하면 늘려서 쓰기 public static $inheritResetAttrPointBase = [1000, 1000, 2000, 3000];//필요하면 늘려서 쓰기
public static $allItems = [ public static $allItems = [
+2 -1
View File
@@ -58,7 +58,8 @@ class General implements iAction
'lived_month' => [true, 1, '생존'], 'lived_month' => [true, 1, '생존'],
'max_belong' => [false, 10, '최대 임관년 수'], 'max_belong' => [false, 10, '최대 임관년 수'],
'max_domestic_critical' => [true, 1, '최대 연속 내정 성공'], 'max_domestic_critical' => [true, 1, '최대 연속 내정 성공'],
'snipe_combat' => [true, 10, '병종 상성 우위 횟수'], 'active_action' => [true, 3, '능동 행동 수'],
//'snipe_combat' => [true, 10, '병종 상성 우위 횟수'],
'combat' => [['rank', 'warnum'], 5, '전투 횟수'], 'combat' => [['rank', 'warnum'], 5, '전투 횟수'],
'sabotage' => [['rank', 'firenum'], 20, '계략 성공 횟수'], 'sabotage' => [['rank', 'firenum'], 20, '계략 성공 횟수'],
'unifier' => [true, 1, '천통 기여'], 'unifier' => [true, 1, '천통 기여'],
+96 -38
View File
@@ -116,19 +116,19 @@ class GeneralAI
$nationStor = KVStorage::getStorage($db, $this->nation['nation'], 'nation_env'); $nationStor = KVStorage::getStorage($db, $this->nation['nation'], 'nation_env');
$nationStor->cacheValues(['npc_nation_policy', 'npc_general_policy', 'prev_income_gold', 'prev_income_rice']); $nationStor->cacheValues(['npc_nation_policy', 'npc_general_policy', 'prev_income_gold', 'prev_income_rice']);
$this->nationPolicy = new AutorunNationPolicy($general, $this->env['autorun_user']['options'], $nationStor->getValue('npc_nation_policy'), $gameStor->getValue('npc_nation_policy'), $this->nation, $this->env); $this->nationPolicy = new AutorunNationPolicy($general, $this->env['autorun_user']['options']??null, $nationStor->getValue('npc_nation_policy'), $gameStor->getValue('npc_nation_policy'), $this->nation, $this->env);
$this->generalPolicy = new AutorunGeneralPolicy($general, $this->env['autorun_user']['options'], $nationStor->getValue('npc_general_policy'), $gameStor->getValue('npc_general_policy'), $this->nation, $this->env); $this->generalPolicy = new AutorunGeneralPolicy($general, $this->env['autorun_user']['options']??null, $nationStor->getValue('npc_general_policy'), $gameStor->getValue('npc_general_policy'), $this->nation, $this->env);
$prevIncomeGold = $nationStor->prev_income_gold ?? 1000; $prevIncomeGold = $nationStor->prev_income_gold ?? 1000;
$prevIncomeRice = $nationStor->prev_income_rice ?? 1000; $prevIncomeRice = $nationStor->prev_income_rice ?? 1000;
$this->maxResourceActionAmount = Util::round(max( $this->maxResourceActionAmount = Util::valueFit(Util::round(max(
$this->nationPolicy->minimumResourceActionAmount, $this->nationPolicy->minimumResourceActionAmount,
$prevIncomeGold / 10, $prevIncomeGold / 10,
$prevIncomeRice / 10, $prevIncomeRice / 10,
$this->nation['gold'] / 5, $this->nation['gold'] / 5,
$this->nation['rice'] / 5, $this->nation['rice'] / 5,
($this->env['year'] - $this->env['startyear'] - 3) * 1000 ($this->env['year'] - $this->env['startyear'] - 3) * 1000
), -2); ), -2), null, $this->nationPolicy->maximumResourceActionAmount);
if ($this->maxResourceActionAmount > GameConst::$maxResourceActionAmount) { if ($this->maxResourceActionAmount > GameConst::$maxResourceActionAmount) {
$this->maxResourceActionAmount = GameConst::$maxResourceActionAmount; $this->maxResourceActionAmount = GameConst::$maxResourceActionAmount;
} }
@@ -2091,7 +2091,7 @@ class GeneralAI
$cmdList = []; $cmdList = [];
if ($nation['rice'] < GameConst::$baserice) { if (($nation['rice'] < GameConst::$baserice) && Util::randBool(0.3)) {
return null; return null;
} }
@@ -2226,7 +2226,7 @@ class GeneralAI
$city = $this->city; $city = $this->city;
$nation = $this->nation; $nation = $this->nation;
if ($nation['rice'] < GameConst::$baserice) { if (($nation['rice'] < GameConst::$baserice) && Util::randBool(0.3)) {
return null; return null;
} }
@@ -2665,7 +2665,7 @@ class GeneralAI
$city = $this->city; $city = $this->city;
$nation = $this->nation; $nation = $this->nation;
if ($nation['rice'] < GameConst::$baserice) { if (($nation['rice'] < GameConst::$baserice) && Util::randBool(0.7)) {
return null; return null;
} }
@@ -2938,10 +2938,6 @@ class GeneralAI
return null; return null;
} }
if ($this->nation['rice'] < GameConst::$baserice) {
return null;
}
$this->categorizeNationCities(); $this->categorizeNationCities();
$this->categorizeNationGeneral(); $this->categorizeNationGeneral();
@@ -2970,9 +2966,6 @@ class GeneralAI
protected function do내정워프(): ?GeneralCommand protected function do내정워프(): ?GeneralCommand
{ {
if ($this->nation['rice'] < GameConst::$baserice) {
return null;
}
if (($this->genType & self::t통솔장) && in_array($this->dipState, [self::d징병, self::d직전, self::d전쟁])) { if (($this->genType & self::t통솔장) && in_array($this->dipState, [self::d징병, self::d직전, self::d전쟁])) {
return null; return null;
} }
@@ -3082,7 +3075,7 @@ class GeneralAI
$general = $this->general; $general = $this->general;
$lordCities = $db->queryFirstColumn('SELECT city.city as city FROM general LEFT JOIN city ON general.city = city.city WHERE general.officer_level = 12 AND city.nation = 0'); $lordCities = $db->queryFirstColumn('SELECT city.city as city FROM general LEFT JOIN city ON general.city = city.city WHERE general.officer_level = 12 AND city.nation = 0');
$nationCities = $db->queryFirstColumn('SELECT city a FROM city WHERE nation != 0'); $nationCities = $db->queryFirstColumn('SELECT city FROM city WHERE nation != 0');
$occupiedCities = []; $occupiedCities = [];
foreach ($lordCities as $tCityId) { foreach ($lordCities as $tCityId) {
@@ -3092,38 +3085,62 @@ class GeneralAI
$occupiedCities[$tCityId] = 1; $occupiedCities[$tCityId] = 1;
} }
$movingTargetCityID = $general->getAuxVar('movingTargetCityID');
$currCityID = $general->getCityID(); $currCityID = $general->getCityID();
$targetCity = []; if($movingTargetCityID === $currCityID){
$movingTargetCityID = null;
}
else if(key_exists($movingTargetCityID, $occupiedCities)){
$movingTargetCityID = null;
}
if($movingTargetCityID === null){
//어느 도시로 갈 것인가?
$candidateCities = [];
foreach(searchDistance($currCityID, 4) as $testCityID => $dist){
if(key_exists($testCityID, $occupiedCities)){
continue;
}
$cityLevel = CityConst::byID($testCityID)->level;
if ($cityLevel < 5 || 6 < $cityLevel) {
continue;
}
$candidateCities[] = [$testCityID, 1 / pow(2, $dist)];
}
if(!$candidateCities){
return null;
}
$movingTargetCityID = Util::choiceRandomUsingWeightPair($candidateCities);
$general->setAuxVar('movingTargetCityID', $movingTargetCityID);
}
if($movingTargetCityID == $currCityID){
return buildGeneralCommandClass('che_인재탐색', $general, $this->env);
}
$distMap = searchDistance($movingTargetCityID, 99);
$targetDistance = $distMap[$currCityID];
$candidateCities = [];
//NOTE: 최단 거리가 현재 도시에서 '어떻게 가야' 가장 짧은지 알 수가 없으므로, 한칸 간 다음 계산하기로
//출발지가 정해져 있으므로, searchAllDistanceByCityList는 비효율적.
foreach (array_keys(CityConst::byID($currCityID)->path) as $nearCityID) { foreach (array_keys(CityConst::byID($currCityID)->path) as $nearCityID) {
if (CityConst::byID($nearCityID)->level < 4) { $cityLevel = CityConst::byID($nearCityID)->level;
$targetCity[$nearCityID] = 0.5; if(5 <= $cityLevel && $cityLevel <= 6 && !key_exists($nearCityID, $occupiedCities)){
} else if (!key_exists($nearCityID, $occupiedCities)) { //바로 옆 도시로 이동하면 건국 가능하다면? 가보자
$targetCity[$nearCityID] = 2; $candidateCities[] = [$nearCityID, 10];
} else {
$targetCity[$nearCityID] = 0;
} }
if($distMap[$nearCityID] + 1 == $targetDistance){
$distanceFrom = searchDistance($nearCityID, 4, true); $candidateCities[] = [$nearCityID, 1];
foreach ($distanceFrom as $distance => $distCities) {
foreach ($distCities as $distCity) {
if (key_exists($distCity, $occupiedCities)) {
continue;
}
if (CityConst::byID($distCity)->level < 4) {
continue;
}
$targetCity[$nearCityID] += 1 / (2 ** $distance);
} }
} }
if(!$candidateCities){
return null;
} }
$cmd = buildGeneralCommandClass('che_이동', $general, $this->env, [ $cmd = buildGeneralCommandClass('che_이동', $general, $this->env, [
'destCityID' => Util::choiceRandomUsingWeight($targetCity) 'destCityID' => Util::choiceRandomUsingWeightPair($candidateCities)
]); ]);
if (!$cmd->hasFullConditionMet()) { if (!$cmd->hasFullConditionMet()) {
return null; return null;
@@ -3146,6 +3163,43 @@ class GeneralAI
return null; return null;
} }
$currentCityLevel = CityConst::byID($general->getCityID())->level;
if (($currentCityLevel < 5 || 6 < $currentCityLevel) && Util::randBool(0.5)){
return null;
}
$db = DB::db();
$lordCities = $db->queryFirstColumn('SELECT city.city as city FROM general LEFT JOIN city ON general.city = city.city WHERE general.officer_level = 12 AND city.nation = 0');
$nationCities = $db->queryFirstColumn('SELECT city FROM city WHERE nation != 0');
$occupiedCities = [];
foreach ($lordCities as $tCityId) {
$occupiedCities[$tCityId] = 2;
}
foreach ($nationCities as $tCityId) {
$occupiedCities[$tCityId] = 1;
}
$availableNearCity = false;
foreach(searchDistance($general->getCityID(), 3) as $targetCityID => $dist){
if(key_exists($targetCityID, $occupiedCities)){
continue;
}
$cityLevel = CityConst::byID($targetCityID)->level;
if($cityLevel < 5 || 6 < $cityLevel){
continue;
}
if($dist == 3 && Util::randBool()){
continue;
}
$availableNearCity = true;
break;
}
if(!$availableNearCity){
return null;
}
$prop = Util::randF() * (GameConst::$defaultStatNPCMax + GameConst::$chiefStatMin) / 2; $prop = Util::randF() * (GameConst::$defaultStatNPCMax + GameConst::$chiefStatMin) / 2;
$ratio = ($this->fullLeadership + $this->fullStrength + $this->fullIntel) / 3; $ratio = ($this->fullLeadership + $this->fullStrength + $this->fullIntel) / 3;
@@ -3156,7 +3210,7 @@ class GeneralAI
//XXX: 건국기한 2년 //XXX: 건국기한 2년
$more = Util::valueFit(3 - $this->env['year'] + $this->env['init_year'], 1, 3); $more = Util::valueFit(3 - $this->env['year'] + $this->env['init_year'], 1, 3);
if (!Util::randBool(0.005 * $more)) { if (!Util::randBool(0.0075 * $more)) {
return null; return null;
} }
@@ -3175,6 +3229,8 @@ class GeneralAI
return null; return null;
} }
$this->general->setAuxVar('movingTargetCityID', null);
return $cmd; return $cmd;
} }
@@ -3191,6 +3247,8 @@ class GeneralAI
return null; return null;
} }
$this->general->setAuxVar('movingTargetCityID', null);
return $cmd; return $cmd;
} }
+1 -1
View File
@@ -128,7 +128,7 @@ class ResetHelper{
} }
} }
opcache_reset(); //opcache_reset();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$gameStor->resetValues(); $gameStor->resetValues();
+21 -1
View File
@@ -238,6 +238,7 @@ class TurnExecutionHelper
$turnObj = new static($general); $turnObj = new static($general);
$env = $gameStor->getAll(true); $env = $gameStor->getAll(true);
[$startYear, $year, $month, $turnterm] = $gameStor->getValuesAsArray(['startyear', 'year', 'month', 'turnterm']);
$hasNationTurn = false; $hasNationTurn = false;
if ($general->getVar('nation') != 0 && $general->getVar('officer_level') >= 5) { if ($general->getVar('nation') != 0 && $general->getVar('officer_level') >= 5) {
@@ -263,13 +264,22 @@ class TurnExecutionHelper
$turnObj->preprocessCommand($env); $turnObj->preprocessCommand($env);
if ($general->getNPCType() >= 2 || ($autorun_user['limit_minutes'] ?? false)) { if ($general->getNPCType() >= 2){
$ai = new GeneralAI($turnObj->getGeneral());
} else {
$limitYearMonth = $general->getAuxVar('autorun_limit')??Util::joinYearMonth($year-2, $month);
if(Util::joinYearMonth($year, $month) < $limitYearMonth){
$ai = new GeneralAI($turnObj->getGeneral()); $ai = new GeneralAI($turnObj->getGeneral());
} }
}
$hasReservedTurn = false;
if (!$turnObj->processBlocked()) { if (!$turnObj->processBlocked()) {
if ($hasNationTurn) { if ($hasNationTurn) {
if (!($nationCommandObj instanceof Command\Nation\휴식)) {
$hasReservedTurn = true;
}
if ($ai && ($general->getAuxVar('use_auto_nation_turn') ?? 1)) { if ($ai && ($general->getAuxVar('use_auto_nation_turn') ?? 1)) {
$nationCommandObj = $ai->chooseNationTurn($nationCommandObj); $nationCommandObj = $ai->chooseNationTurn($nationCommandObj);
$cityName = CityConst::byID($general->getCityID())->name; $cityName = CityConst::byID($general->getCityID())->name;
@@ -283,6 +293,9 @@ class TurnExecutionHelper
} }
$generalCommandObj = $general->getReservedTurn(0, $env); $generalCommandObj = $general->getReservedTurn(0, $env);
if (!($generalCommandObj instanceof Command\General\휴식)) {
$hasReservedTurn = true;
}
if ($ai) { if ($ai) {
$newGeneralCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리 $newGeneralCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리
@@ -302,6 +315,13 @@ class TurnExecutionHelper
$currentTurn = $general->getTurnTime(); $currentTurn = $general->getTurnTime();
$general->increaseVarWithLimit('myset', 3, null, 9); $general->increaseVarWithLimit('myset', 3, null, 9);
if(($autorun_user['limit_minutes']??false) && $general->getNPCType() < 2 && $hasReservedTurn){
$autorun_limit = Util::joinYearMonth($year, $month);
$autorun_limit += intdiv($autorun_user['limit_minutes'], $turnterm);
$general->setAuxVar('autorun_limit', $autorun_limit);
}
$turnObj->updateTurnTime(); $turnObj->updateTurnTime();
$turnObj->applyDB(); $turnObj->applyDB();
} }
+6
View File
@@ -157,7 +157,13 @@ class WarUnitGeneral extends WarUnit
$general->increaseRankVar('occupied', 1); $general->increaseRankVar('occupied', 1);
} }
if($this->isAttacker()){
$general->multiplyVarWithLimit('atmos', 1.1, null, GameConst::$maxAtmosByWar); $general->multiplyVarWithLimit('atmos', 1.1, null, GameConst::$maxAtmosByWar);
}
else{
$general->multiplyVarWithLimit('atmos', 1.05, null, GameConst::$maxAtmosByWar);
}
$this->addStatExp(1); $this->addStatExp(1);
} }
+8
View File
@@ -154,6 +154,14 @@
title="포상/몰수/헌납/삼/팜 최소 단위" title="포상/몰수/헌납/삼/팜 최소 단위"
>연산결과가 단위보다 적다면 수행하지 않습니다.</NumberInputWithInfo >연산결과가 단위보다 적다면 수행하지 않습니다.</NumberInputWithInfo
> >
</div>
<div class="col">
<NumberInputWithInfo
v-model="nationPolicy.maximumResourceActionAmount"
:step="100"
title="포상/몰수/헌납/삼/팜 최대 단위"
>연산결과가 단위보다 크다면, 값에 맞춥니다.</NumberInputWithInfo
>
</div> </div>
<div class="col"> <div class="col">
<NumberInputWithInfo <NumberInputWithInfo
+1
View File
@@ -125,6 +125,7 @@ export type NationPolicy = {
reqNPCDevelGold: number, reqNPCDevelGold: number,
reqNPCDevelRice: number, reqNPCDevelRice: number,
minimumResourceActionAmount: number, minimumResourceActionAmount: number,
maximumResourceActionAmount: number,
minNPCWarLeadership: number, minNPCWarLeadership: number,
minWarCrew: number, minWarCrew: number,
minNPCRecruitCityPopulation: number, minNPCRecruitCityPopulation: number,
+8 -3
View File
@@ -272,7 +272,8 @@ type InheritanceType =
| "lived_month" | "lived_month"
| "max_belong" | "max_belong"
| "max_domestic_critical" | "max_domestic_critical"
| "snipe_combat" | "active_action"
// | "snipe_combat"
| "combat" | "combat"
| "sabotage" | "sabotage"
| "unifier" | "unifier"
@@ -320,10 +321,14 @@ const inheritanceViewText: Record<
title: "최대 연속 내정 성공", title: "최대 연속 내정 성공",
info: "성공한 내정 중 최대 연속값입니다.", info: "성공한 내정 중 최대 연속값입니다.",
}, },
snipe_combat: { active_action: {
title: "능동 행동 수",
info: "장수 동향에 본인의 이름이 직접 나타난 수입니다.<br>일부 사령턴은 제외됩니다."
},
/* snipe_combat: {
title: "병종 상성 우위 횟수", title: "병종 상성 우위 횟수",
info: "유리한 상성을 가지고 전투했습니다.", info: "유리한 상성을 가지고 전투했습니다.",
}, },*/
combat: { combat: {
title: "전투 횟수", title: "전투 횟수",
info: "전투 횟수입니다.", info: "전투 횟수입니다.",
+18 -7
View File
@@ -13,6 +13,8 @@ import './msg.ts';
import './map.ts'; import './map.ts';
import { exportWindow } from './util/exportWindow'; import { exportWindow } from './util/exportWindow';
import {stringifyUrl} from 'query-string'; import {stringifyUrl} from 'query-string';
import { joinYearMonth } from './util/joinYearMonth';
import { parseYearMonth } from './util/parseYearMonth';
exportWindow($, '$'); exportWindow($, '$');
type TurnArg = { type TurnArg = {
@@ -33,6 +35,7 @@ type ReservedTurnResponse = {
month: number, month: number,
date: string, date: string,
turn: TurnItem[], turn: TurnItem[],
autorun_limit: number|null,
} }
$(function ($) { $(function ($) {
@@ -65,10 +68,12 @@ $(function ($) {
const turnTime = parseTime(data.turnTime); const turnTime = parseTime(data.turnTime);
let nextTurnTime = new Date(turnTime); let nextTurnTime = new Date(turnTime);
let year = data.year; let nowYearMonth = joinYearMonth(data.year, data.month);
let month = data.month; const autorunLimitYearMonth = data.autorun_limit ?? nowYearMonth - 1;
const [autorunLimitYear, autorunLimitMonth] = parseYearMonth(autorunLimitYearMonth);
for (const [turnIdx, turnInfo] of Object.entries(data.turn)) { for (const [turnIdx, turnInfo] of Object.entries(data.turn)) {
const [year, month] = parseYearMonth(nowYearMonth);
const $tr = $(`#command_${turnIdx}`); const $tr = $(`#command_${turnIdx}`);
$tr.find('.time_pad').text(formatTime(nextTurnTime, 'HH:mm')); $tr.find('.time_pad').text(formatTime(nextTurnTime, 'HH:mm'));
@@ -76,6 +81,16 @@ $(function ($) {
const $turn_pad = $tr.find('.turn_pad'); const $turn_pad = $tr.find('.turn_pad');
const $turn_text = $turn_pad.find('.turn_text'); const $turn_text = $turn_pad.find('.turn_text');
$turn_text.text(turnInfo.brief).css('font-size', '13px'); $turn_text.text(turnInfo.brief).css('font-size', '13px');
if(nowYearMonth <= autorunLimitYearMonth){
const brief = turnInfo.brief != '휴식'? turnInfo.brief :'휴식<small>(자율 행동)</small>';
const autorunTooltip = `<span class="obj_tooltip" data-toggle="tooltip" data-placement="top"
><span style='color:#aaffff;'>${brief}</span
><span class="tooltiptext">자율 행동 기간: ${autorunLimitYear}${autorunLimitMonth}월까지</span
></span>`;
$turn_text.html(autorunTooltip);
initTooltip($turn_text);
}
const oWidth = unwrap($turn_pad.innerWidth()); const oWidth = unwrap($turn_pad.innerWidth());
const iWidth = unwrap($turn_text.outerWidth()); const iWidth = unwrap($turn_text.outerWidth());
@@ -85,11 +100,7 @@ $(function ($) {
} }
nextTurnTime = addMinutes(nextTurnTime, data.turnTerm); nextTurnTime = addMinutes(nextTurnTime, data.turnTerm);
month += 1; nowYearMonth += 1;
if (month >= 13) {
year += 1;
month -= 12;
}
} }
console.log(data); console.log(data);
+3
View File
@@ -0,0 +1,3 @@
export function joinYearMonth(year: number, month: number): number {
return year * 12 + month - 1;
}
+3
View File
@@ -0,0 +1,3 @@
export function parseYearMonth(yearMonth: number): [number, number] {
return [(yearMonth / 12) | 0, yearMonth % 12 + 1];
}
+2 -2
View File
@@ -63,8 +63,8 @@ if ($currentNationPolicy['reqHumanWarUrgentRice'] ?? 0) {
if ($currentNationPolicy['reqHumanWarUrgentGold'] ?? 0) { if ($currentNationPolicy['reqHumanWarUrgentGold'] ?? 0) {
$autoPolicyVariable['reqHumanWarUrgentGold'] = $currentNationPolicy['reqHumanWarUrgentGold']; $autoPolicyVariable['reqHumanWarUrgentGold'] = $currentNationPolicy['reqHumanWarUrgentGold'];
} }
$autoPolicy = new AutorunNationPolicy($general, ($gameStor->autorun_user)['options'], ['values' => $autoPolicyVariable], null, $nation, $gameStor->getAll(true)); $autoPolicy = new AutorunNationPolicy($general, ($gameStor->autorun_user)['options']??[], ['values' => $autoPolicyVariable], null, $nation, $gameStor->getAll(true));
$zeroPolicy = new AutorunNationPolicy($general, ($gameStor->autorun_user)['options'], null, null, $nation, $gameStor->getAll(true)); $zeroPolicy = new AutorunNationPolicy($general, ($gameStor->autorun_user)['options']??[], null, null, $nation, $gameStor->getAll(true));
$lastSetters = [ $lastSetters = [
'policy' => [ 'policy' => [
+2 -2
View File
@@ -267,7 +267,7 @@ if ($server == $baseServerName) {
$storage->$server = [$target, $version]; $storage->$server = [$target, $version];
opcache_reset(); //opcache_reset();
Json::die([ Json::die([
'server' => $server, 'server' => $server,
@@ -321,7 +321,7 @@ genJS($server);
$storage->$server = [$target, $version]; $storage->$server = [$target, $version];
//ServConfig::getServerList()[$server]->closeServer(); //ServConfig::getServerList()[$server]->closeServer();
opcache_reset(); //opcache_reset();
Json::die([ Json::die([
'server' => $server, 'server' => $server,
+1 -1
View File
@@ -139,7 +139,7 @@ class LoginByToken extends LoginByID
'login_token', 'login_token',
'id = %i', $token_id 'id = %i', $token_id
); );
$nextToken = $this->addToken($token_id); $nextToken = $this->addToken($userInfo['no']);
return [ return [
'result' => true, 'result' => true,
'silent' => true, 'silent' => true,
+3 -1
View File
@@ -82,7 +82,7 @@ class DummySession extends Session
return Util::array_get($_SESSION[$name]); return Util::array_get($_SESSION[$name]);
} }
public function login(int $userID, string $userName, int $grade, bool $reqOTP, ?string $tokenValidUntil, array $acl): Session public function login(int $userID, string $userName, int $grade, bool $reqOTP, ?string $tokenValidUntil, ?int $tokenID, array $acl): Session
{ {
$this->set('userID', $userID); $this->set('userID', $userID);
$this->set('userName', $userName); $this->set('userName', $userName);
@@ -92,6 +92,7 @@ class DummySession extends Session
$this->set('acl', $acl); $this->set('acl', $acl);
$this->set('reqOTP', $reqOTP); $this->set('reqOTP', $reqOTP);
$this->set('tokenValidUntil', $tokenValidUntil); $this->set('tokenValidUntil', $tokenValidUntil);
$this->set('tokenID', $tokenID);
return $this; return $this;
} }
@@ -117,6 +118,7 @@ class DummySession extends Session
$this->set('reqOTP', null); $this->set('reqOTP', null);
$this->set('time', time()); $this->set('time', time());
$this->set('lastMsgGet', null); $this->set('lastMsgGet', null);
$this->set('tokenID', null);
return $this; return $this;
} }
+1 -1
View File
@@ -212,7 +212,7 @@ class KakaoUtil
$session->refresh_token = $refreshToken; $session->refresh_token = $refreshToken;
$session->refresh_token_expires = $refreshTokenValidUntil; $session->refresh_token_expires = $refreshTokenValidUntil;
if (!createOTPbyUserNO($userInfo['no'])) { if (!static::createOTPbyUserNO($userInfo['no'])) {
return [false, '인증 코드를 보내는데 실패했습니다.']; return [false, '인증 코드를 보내는데 실패했습니다.'];
} }
-1
View File
@@ -1 +0,0 @@
../scssphp/scssphp/bin/pscss
+72 -81
View File
@@ -29,7 +29,7 @@ private static $installed = array (
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
'name' => 'sammo-hid/sammo', 'name' => 'sammo-hid/sammo',
), ),
'versions' => 'versions' =>
@@ -54,12 +54,12 @@ private static $installed = array (
), ),
'composer/semver' => 'composer/semver' =>
array ( array (
'pretty_version' => '3.2.5', 'pretty_version' => '3.2.6',
'version' => '3.2.5.0', 'version' => '3.2.6.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '31f3ea725711245195f62e54ffa402d8ef2fdba9', 'reference' => '83e511e247de329283478496f7a1e114c9517506',
), ),
'composer/xdebug-handler' => 'composer/xdebug-handler' =>
array ( array (
@@ -72,12 +72,12 @@ private static $installed = array (
), ),
'doctrine/inflector' => 'doctrine/inflector' =>
array ( array (
'pretty_version' => '2.0.3', 'pretty_version' => '2.0.4',
'version' => '2.0.3.0', 'version' => '2.0.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '9cf661f4eb38f7c881cac67c75ea9b00bf97b210', 'reference' => '8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89',
), ),
'erusev/parsedown' => 'erusev/parsedown' =>
array ( array (
@@ -135,80 +135,80 @@ private static $installed = array (
), ),
'guzzlehttp/promises' => 'guzzlehttp/promises' =>
array ( array (
'pretty_version' => '1.4.1', 'pretty_version' => '1.5.1',
'version' => '1.4.1.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d', 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da',
), ),
'guzzlehttp/psr7' => 'guzzlehttp/psr7' =>
array ( array (
'pretty_version' => '1.8.2', 'pretty_version' => '1.8.3',
'version' => '1.8.2.0', 'version' => '1.8.3.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'dc960a912984efb74d0a90222870c72c87f10c91', 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85',
), ),
'illuminate/bus' => 'illuminate/bus' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '808097c0dfd893309bd77b00139586c516b965c9', 'reference' => 'be400399687b97d5558a224e970060fd5d5f2735',
), ),
'illuminate/collections' => 'illuminate/collections' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '18fa841df912ec56849351dd6ca8928e8a98b69d', 'reference' => '05f286ec5fd2dd286e8384577047efc375c8954c',
), ),
'illuminate/container' => 'illuminate/container' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '862b64ea4ab56e307a1676104a1b93295d347ad0', 'reference' => 'ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d',
), ),
'illuminate/contracts' => 'illuminate/contracts' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913', 'reference' => 'e76f4bce73a2a1656add24bd5210ebc4b8af49c0',
), ),
'illuminate/database' => 'illuminate/database' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'acc11d6839ddb3b694bc6585177fa5141b70c693', 'reference' => '43c7ffb6299ae55b000b286cf1278afd268ef29f',
), ),
'illuminate/events' => 'illuminate/events' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '7def78033f29cd0c0383513b27c291d233a7f90e', 'reference' => 'b7f06cafb6c09581617f2ca05d69e9b159e5a35d',
), ),
'illuminate/macroable' => 'illuminate/macroable' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -216,8 +216,8 @@ private static $installed = array (
), ),
'illuminate/pipeline' => 'illuminate/pipeline' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -225,12 +225,12 @@ private static $installed = array (
), ),
'illuminate/support' => 'illuminate/support' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'b0a21c41163381dd9a5abbd68fe85ed7b4247d30', 'reference' => 'a8851b7001530d3c11626a81449ed9b63dd10db7',
), ),
'league/plates' => 'league/plates' =>
array ( array (
@@ -261,12 +261,12 @@ private static $installed = array (
), ),
'nesbot/carbon' => 'nesbot/carbon' =>
array ( array (
'pretty_version' => '2.53.1', 'pretty_version' => '2.54.0',
'version' => '2.53.1.0', 'version' => '2.54.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'f4655858a784988f880c1b8c7feabbf02dfdf045', 'reference' => 'eed83939f1aed3eee517d03a33f5ec587ac529b5',
), ),
'netresearch/jsonmapper' => 'netresearch/jsonmapper' =>
array ( array (
@@ -297,12 +297,12 @@ private static $installed = array (
), ),
'nette/utils' => 'nette/utils' =>
array ( array (
'pretty_version' => 'v3.2.2', 'pretty_version' => 'v3.2.5',
'version' => '3.2.2.0', 'version' => '3.2.5.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '967cfc4f9a1acd5f1058d76715a424c53343c20c', 'reference' => '9cd80396ca58d7969ab44fc7afcf03624dfa526e',
), ),
'pguardiario/phpuri' => 'pguardiario/phpuri' =>
array ( array (
@@ -351,30 +351,30 @@ private static $installed = array (
), ),
'phpdocumentor/reflection-docblock' => 'phpdocumentor/reflection-docblock' =>
array ( array (
'pretty_version' => '5.2.2', 'pretty_version' => '5.3.0',
'version' => '5.2.2.0', 'version' => '5.3.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556', 'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170',
), ),
'phpdocumentor/type-resolver' => 'phpdocumentor/type-resolver' =>
array ( array (
'pretty_version' => '1.4.0', 'pretty_version' => '1.5.1',
'version' => '1.4.0.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0', 'reference' => 'a12f7e301eb7258bb68acd89d4aefa05c2906cae',
), ),
'psr/container' => 'psr/container' =>
array ( array (
'pretty_version' => '1.1.1', 'pretty_version' => '1.1.2',
'version' => '1.1.1.0', 'version' => '1.1.2.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
), ),
'psr/container-implementation' => 'psr/container-implementation' =>
array ( array (
@@ -436,12 +436,12 @@ private static $installed = array (
), ),
'sabre/event' => 'sabre/event' =>
array ( array (
'pretty_version' => '5.1.2', 'pretty_version' => '5.1.4',
'version' => '5.1.2.0', 'version' => '5.1.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'c120bec57c17b6251a496efc82b732418b49d50a', 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497',
), ),
'sammo-hid/sammo' => 'sammo-hid/sammo' =>
array ( array (
@@ -450,16 +450,7 @@ private static $installed = array (
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
),
'scssphp/scssphp' =>
array (
'pretty_version' => 'v1.6.0',
'version' => '1.6.0.0',
'aliases' =>
array (
),
'reference' => 'b83594e2323c5d6e80785df3f91b9d1d32aad530',
), ),
'sergeytsalkov/meekrodb' => 'sergeytsalkov/meekrodb' =>
array ( array (
@@ -472,12 +463,12 @@ private static $installed = array (
), ),
'symfony/console' => 'symfony/console' =>
array ( array (
'pretty_version' => 'v5.3.6', 'pretty_version' => 'v5.3.10',
'version' => '5.3.6.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '51b71afd6d2dc8f5063199357b9880cea8d8bfe2', 'reference' => 'd4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3',
), ),
'symfony/deprecation-contracts' => 'symfony/deprecation-contracts' =>
array ( array (
@@ -490,12 +481,12 @@ private static $installed = array (
), ),
'symfony/lock' => 'symfony/lock' =>
array ( array (
'pretty_version' => 'v4.4.27', 'pretty_version' => 'v4.4.33',
'version' => '4.4.27.0', 'version' => '4.4.33.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6ca476d4ac992802f2a4043929f68f1818449486', 'reference' => '567d29b1bc6e3937652054dafc069151d17824a9',
), ),
'symfony/polyfill-ctype' => 'symfony/polyfill-ctype' =>
array ( array (
@@ -580,21 +571,21 @@ private static $installed = array (
), ),
'symfony/string' => 'symfony/string' =>
array ( array (
'pretty_version' => 'v5.3.3', 'pretty_version' => 'v5.3.10',
'version' => '5.3.3.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1', 'reference' => 'd70c35bb20bbca71fc4ab7921e3c6bda1a82a60c',
), ),
'symfony/translation' => 'symfony/translation' =>
array ( array (
'pretty_version' => 'v5.3.7', 'pretty_version' => 'v5.3.10',
'version' => '5.3.7.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6', 'reference' => '6ef197aea2ac8b9cd63e0da7522b3771714035aa',
), ),
'symfony/translation-contracts' => 'symfony/translation-contracts' =>
array ( array (
@@ -614,12 +605,12 @@ private static $installed = array (
), ),
'tysonandre/var_representation_polyfill' => 'tysonandre/var_representation_polyfill' =>
array ( array (
'pretty_version' => '0.0.2', 'pretty_version' => '0.1.1',
'version' => '0.0.2.0', 'version' => '0.1.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '3f17999ee1f257319ddc6721dd26ebbc5d175f33', 'reference' => '0a942e74e18af5514749895507bc6ca7ab96399a',
), ),
'vlucas/valitron' => 'vlucas/valitron' =>
array ( array (
+1
View File
@@ -108,6 +108,7 @@ return array(
'Nette\\Utils\\Reflection' => $vendorDir . '/nette/utils/src/Utils/Reflection.php', 'Nette\\Utils\\Reflection' => $vendorDir . '/nette/utils/src/Utils/Reflection.php',
'Nette\\Utils\\RegexpException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\RegexpException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Strings' => $vendorDir . '/nette/utils/src/Utils/Strings.php', 'Nette\\Utils\\Strings' => $vendorDir . '/nette/utils/src/Utils/Strings.php',
'Nette\\Utils\\Type' => $vendorDir . '/nette/utils/src/Utils/Type.php',
'Nette\\Utils\\UnknownImageFileException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\UnknownImageFileException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Validators' => $vendorDir . '/nette/utils/src/Utils/Validators.php', 'Nette\\Utils\\Validators' => $vendorDir . '/nette/utils/src/Utils/Validators.php',
'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
-1
View File
@@ -27,7 +27,6 @@ return array(
'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'), 'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'),
'Symfony\\Component\\Lock\\' => array($vendorDir . '/symfony/lock'), 'Symfony\\Component\\Lock\\' => array($vendorDir . '/symfony/lock'),
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
'ScssPhp\\ScssPhp\\' => array($vendorDir . '/scssphp/scssphp/src'),
'Sabre\\Event\\' => array($vendorDir . '/sabre/event/lib'), 'Sabre\\Event\\' => array($vendorDir . '/sabre/event/lib'),
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
+1 -5
View File
@@ -76,7 +76,6 @@ class ComposerStaticInit67b09c83b85c3bc0027caefe5bba171a
'Symfony\\Component\\String\\' => 25, 'Symfony\\Component\\String\\' => 25,
'Symfony\\Component\\Lock\\' => 23, 'Symfony\\Component\\Lock\\' => 23,
'Symfony\\Component\\Console\\' => 26, 'Symfony\\Component\\Console\\' => 26,
'ScssPhp\\ScssPhp\\' => 16,
'Sabre\\Event\\' => 12, 'Sabre\\Event\\' => 12,
), ),
'P' => 'P' =>
@@ -218,10 +217,6 @@ class ComposerStaticInit67b09c83b85c3bc0027caefe5bba171a
array ( array (
0 => __DIR__ . '/..' . '/symfony/console', 0 => __DIR__ . '/..' . '/symfony/console',
), ),
'ScssPhp\\ScssPhp\\' =>
array (
0 => __DIR__ . '/..' . '/scssphp/scssphp/src',
),
'Sabre\\Event\\' => 'Sabre\\Event\\' =>
array ( array (
0 => __DIR__ . '/..' . '/sabre/event/lib', 0 => __DIR__ . '/..' . '/sabre/event/lib',
@@ -472,6 +467,7 @@ class ComposerStaticInit67b09c83b85c3bc0027caefe5bba171a
'Nette\\Utils\\Reflection' => __DIR__ . '/..' . '/nette/utils/src/Utils/Reflection.php', 'Nette\\Utils\\Reflection' => __DIR__ . '/..' . '/nette/utils/src/Utils/Reflection.php',
'Nette\\Utils\\RegexpException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\RegexpException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Strings' => __DIR__ . '/..' . '/nette/utils/src/Utils/Strings.php', 'Nette\\Utils\\Strings' => __DIR__ . '/..' . '/nette/utils/src/Utils/Strings.php',
'Nette\\Utils\\Type' => __DIR__ . '/..' . '/nette/utils/src/Utils/Type.php',
'Nette\\Utils\\UnknownImageFileException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\UnknownImageFileException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Validators' => __DIR__ . '/..' . '/nette/utils/src/Utils/Validators.php', 'Nette\\Utils\\Validators' => __DIR__ . '/..' . '/nette/utils/src/Utils/Validators.php',
'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
+236 -246
View File
@@ -118,17 +118,17 @@
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
"version": "3.2.5", "version": "3.2.6",
"version_normalized": "3.2.5.0", "version_normalized": "3.2.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/semver.git", "url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" "reference": "83e511e247de329283478496f7a1e114c9517506"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -138,7 +138,7 @@
"phpstan/phpstan": "^0.12.54", "phpstan/phpstan": "^0.12.54",
"symfony/phpunit-bridge": "^4.2 || ^5" "symfony/phpunit-bridge": "^4.2 || ^5"
}, },
"time": "2021-05-24T12:41:47+00:00", "time": "2021-10-25T11:34:17+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -182,7 +182,7 @@
"support": { "support": {
"irc": "irc://irc.freenode.org/composer", "irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues", "issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5" "source": "https://github.com/composer/semver/tree/3.2.6"
}, },
"funding": [ "funding": [
{ {
@@ -269,36 +269,32 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "2.0.3", "version": "2.0.4",
"version_normalized": "2.0.3.0", "version_normalized": "2.0.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"time": "2020-05-29T15:13:26+00:00", "time": "2021-10-22T20:16:43+00:00",
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@@ -347,7 +343,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/inflector/issues", "issues": "https://github.com/doctrine/inflector/issues",
"source": "https://github.com/doctrine/inflector/tree/2.0.x" "source": "https://github.com/doctrine/inflector/tree/2.0.4"
}, },
"funding": [ "funding": [
{ {
@@ -684,17 +680,17 @@
}, },
{ {
"name": "guzzlehttp/promises", "name": "guzzlehttp/promises",
"version": "1.4.1", "version": "1.5.1",
"version_normalized": "1.4.1.0", "version_normalized": "1.5.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/promises.git", "url": "https://github.com/guzzle/promises.git",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -703,11 +699,11 @@
"require-dev": { "require-dev": {
"symfony/phpunit-bridge": "^4.4 || ^5.1" "symfony/phpunit-bridge": "^4.4 || ^5.1"
}, },
"time": "2021-03-07T09:25:29+00:00", "time": "2021-10-22T20:56:57+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4-dev" "dev-master": "1.5-dev"
} }
}, },
"installation-source": "dist", "installation-source": "dist",
@@ -724,10 +720,25 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"description": "Guzzle promises library", "description": "Guzzle promises library",
@@ -736,23 +747,37 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/promises/issues", "issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.4.1" "source": "https://github.com/guzzle/promises/tree/1.5.1"
}, },
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
"type": "tidelift"
}
],
"install-path": "../guzzlehttp/promises" "install-path": "../guzzlehttp/promises"
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "1.8.2", "version": "1.8.3",
"version_normalized": "1.8.2.0", "version_normalized": "1.8.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91" "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91", "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -770,7 +795,7 @@
"suggest": { "suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
}, },
"time": "2021-04-26T09:17:50+00:00", "time": "2021-10-05T13:56:00+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -791,13 +816,34 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://github.com/sagikazarmark"
},
{ {
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
} }
], ],
@@ -814,23 +860,37 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/psr7/issues", "issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.8.2" "source": "https://github.com/guzzle/psr7/tree/1.8.3"
}, },
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
"type": "tidelift"
}
],
"install-path": "../guzzlehttp/psr7" "install-path": "../guzzlehttp/psr7"
}, },
{ {
"name": "illuminate/bus", "name": "illuminate/bus",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/bus.git", "url": "https://github.com/illuminate/bus.git",
"reference": "808097c0dfd893309bd77b00139586c516b965c9" "reference": "be400399687b97d5558a224e970060fd5d5f2735"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/bus/zipball/808097c0dfd893309bd77b00139586c516b965c9", "url": "https://api.github.com/repos/illuminate/bus/zipball/be400399687b97d5558a224e970060fd5d5f2735",
"reference": "808097c0dfd893309bd77b00139586c516b965c9", "reference": "be400399687b97d5558a224e970060fd5d5f2735",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -843,7 +903,7 @@
"suggest": { "suggest": {
"illuminate/queue": "Required to use closures when chaining jobs (^7.0)." "illuminate/queue": "Required to use closures when chaining jobs (^7.0)."
}, },
"time": "2021-08-10T16:49:48+00:00", "time": "2021-10-21T19:19:36+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -876,17 +936,17 @@
}, },
{ {
"name": "illuminate/collections", "name": "illuminate/collections",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/collections.git", "url": "https://github.com/illuminate/collections.git",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d" "reference": "05f286ec5fd2dd286e8384577047efc375c8954c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/18fa841df912ec56849351dd6ca8928e8a98b69d", "url": "https://api.github.com/repos/illuminate/collections/zipball/05f286ec5fd2dd286e8384577047efc375c8954c",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d", "reference": "05f286ec5fd2dd286e8384577047efc375c8954c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -897,7 +957,7 @@
"suggest": { "suggest": {
"symfony/var-dumper": "Required to use the dump method (^5.1.4)." "symfony/var-dumper": "Required to use the dump method (^5.1.4)."
}, },
"time": "2021-09-08T12:48:16+00:00", "time": "2021-10-22T18:01:46+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -933,17 +993,17 @@
}, },
{ {
"name": "illuminate/container", "name": "illuminate/container",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/container.git", "url": "https://github.com/illuminate/container.git",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0" "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/container/zipball/862b64ea4ab56e307a1676104a1b93295d347ad0", "url": "https://api.github.com/repos/illuminate/container/zipball/ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0", "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -954,7 +1014,7 @@
"provide": { "provide": {
"psr/container-implementation": "1.0" "psr/container-implementation": "1.0"
}, },
"time": "2021-09-09T13:55:23+00:00", "time": "2021-09-15T14:32:50+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -987,17 +1047,17 @@
}, },
{ {
"name": "illuminate/contracts", "name": "illuminate/contracts",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/contracts.git", "url": "https://github.com/illuminate/contracts.git",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913" "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/contracts/zipball/ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "url": "https://api.github.com/repos/illuminate/contracts/zipball/e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1005,7 +1065,7 @@
"psr/container": "^1.0", "psr/container": "^1.0",
"psr/simple-cache": "^1.0" "psr/simple-cache": "^1.0"
}, },
"time": "2021-09-08T12:09:40+00:00", "time": "2021-10-22T18:01:46+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1038,17 +1098,17 @@
}, },
{ {
"name": "illuminate/database", "name": "illuminate/database",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/database.git", "url": "https://github.com/illuminate/database.git",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693" "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/database/zipball/acc11d6839ddb3b694bc6585177fa5141b70c693", "url": "https://api.github.com/repos/illuminate/database/zipball/43c7ffb6299ae55b000b286cf1278afd268ef29f",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693", "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1062,7 +1122,7 @@
"symfony/console": "^5.1.4" "symfony/console": "^5.1.4"
}, },
"suggest": { "suggest": {
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"illuminate/console": "Required to use the database commands (^8.0).", "illuminate/console": "Required to use the database commands (^8.0).",
"illuminate/events": "Required to use the observers with Eloquent (^8.0).", "illuminate/events": "Required to use the observers with Eloquent (^8.0).",
@@ -1070,7 +1130,7 @@
"illuminate/pagination": "Required to paginate the result set (^8.0).", "illuminate/pagination": "Required to paginate the result set (^8.0).",
"symfony/finder": "Required to use Eloquent model factories (^5.1.4)." "symfony/finder": "Required to use Eloquent model factories (^5.1.4)."
}, },
"time": "2021-09-13T18:43:43+00:00", "time": "2021-10-29T19:46:53+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1109,17 +1169,17 @@
}, },
{ {
"name": "illuminate/events", "name": "illuminate/events",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/events.git", "url": "https://github.com/illuminate/events.git",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e" "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/events/zipball/7def78033f29cd0c0383513b27c291d233a7f90e", "url": "https://api.github.com/repos/illuminate/events/zipball/b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e", "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1131,7 +1191,7 @@
"illuminate/support": "^8.0", "illuminate/support": "^8.0",
"php": "^7.3|^8.0" "php": "^7.3|^8.0"
}, },
"time": "2021-08-16T21:45:47+00:00", "time": "2021-09-15T14:32:50+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1167,8 +1227,8 @@
}, },
{ {
"name": "illuminate/macroable", "name": "illuminate/macroable",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/macroable.git", "url": "https://github.com/illuminate/macroable.git",
@@ -1216,8 +1276,8 @@
}, },
{ {
"name": "illuminate/pipeline", "name": "illuminate/pipeline",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/pipeline.git", "url": "https://github.com/illuminate/pipeline.git",
@@ -1267,17 +1327,17 @@
}, },
{ {
"name": "illuminate/support", "name": "illuminate/support",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/support.git", "url": "https://github.com/illuminate/support.git",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30" "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "url": "https://api.github.com/repos/illuminate/support/zipball/a8851b7001530d3c11626a81449ed9b63dd10db7",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1287,7 +1347,7 @@
"illuminate/collections": "^8.0", "illuminate/collections": "^8.0",
"illuminate/contracts": "^8.0", "illuminate/contracts": "^8.0",
"illuminate/macroable": "^8.0", "illuminate/macroable": "^8.0",
"nesbot/carbon": "^2.31", "nesbot/carbon": "^2.53.1",
"php": "^7.3|^8.0", "php": "^7.3|^8.0",
"voku/portable-ascii": "^1.4.8" "voku/portable-ascii": "^1.4.8"
}, },
@@ -1296,13 +1356,13 @@
}, },
"suggest": { "suggest": {
"illuminate/filesystem": "Required to use the composer class (^8.0).", "illuminate/filesystem": "Required to use the composer class (^8.0).",
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0).", "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
"ramsey/uuid": "Required to use Str::uuid() (^4.0).", "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
"symfony/process": "Required to use the composer class (^5.1.4).", "symfony/process": "Required to use the composer class (^5.1.4).",
"symfony/var-dumper": "Required to use the dd function (^5.1.4).", "symfony/var-dumper": "Required to use the dd function (^5.1.4).",
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
}, },
"time": "2021-09-13T18:43:43+00:00", "time": "2021-10-29T13:34:03+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1542,17 +1602,17 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.53.1", "version": "2.54.0",
"version_normalized": "2.53.1.0", "version_normalized": "2.54.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1563,6 +1623,7 @@
"symfony/translation": "^3.4 || ^4.0 || ^5.0" "symfony/translation": "^3.4 || ^4.0 || ^5.0"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.0 || ^3.0",
"doctrine/orm": "^2.7", "doctrine/orm": "^2.7",
"friendsofphp/php-cs-fixer": "^3.0", "friendsofphp/php-cs-fixer": "^3.0",
"kylekatarnls/multi-tester": "^2.0", "kylekatarnls/multi-tester": "^2.0",
@@ -1572,7 +1633,7 @@
"phpunit/phpunit": "^7.5.20 || ^8.5.14", "phpunit/phpunit": "^7.5.20 || ^8.5.14",
"squizlabs/php_codesniffer": "^3.4" "squizlabs/php_codesniffer": "^3.4"
}, },
"time": "2021-09-06T09:29:23+00:00", "time": "2021-11-01T21:22:20+00:00",
"bin": [ "bin": [
"bin/carbon" "bin/carbon"
], ],
@@ -1833,21 +1894,21 @@
}, },
{ {
"name": "nette/utils", "name": "nette/utils",
"version": "v3.2.2", "version": "v3.2.5",
"version_normalized": "3.2.2.0", "version_normalized": "3.2.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nette/utils.git", "url": "https://github.com/nette/utils.git",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2 <8.1" "php": ">=7.2 <8.2"
}, },
"conflict": { "conflict": {
"nette/di": "<3.0.6" "nette/di": "<3.0.6"
@@ -1866,7 +1927,7 @@
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
"ext-xml": "to use Strings::length() etc. when mbstring is not available" "ext-xml": "to use Strings::length() etc. when mbstring is not available"
}, },
"time": "2021-03-03T22:53:25+00:00", "time": "2021-09-20T10:50:11+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1915,7 +1976,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/nette/utils/issues", "issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v3.2.2" "source": "https://github.com/nette/utils/tree/v3.2.5"
}, },
"install-path": "../nette/utils" "install-path": "../nette/utils"
}, },
@@ -2176,17 +2237,17 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "5.2.2", "version": "5.3.0",
"version_normalized": "5.2.2.0", "version_normalized": "5.3.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2197,9 +2258,10 @@
"webmozart/assert": "^1.9.1" "webmozart/assert": "^1.9.1"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "~1.3.2" "mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
}, },
"time": "2020-09-03T19:13:55+00:00", "time": "2021-10-19T17:43:47+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -2229,23 +2291,23 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
}, },
"install-path": "../phpdocumentor/reflection-docblock" "install-path": "../phpdocumentor/reflection-docblock"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
"version": "1.4.0", "version": "1.5.1",
"version_normalized": "1.4.0.0", "version_normalized": "1.5.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git", "url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2253,9 +2315,10 @@
"phpdocumentor/reflection-common": "^2.0" "phpdocumentor/reflection-common": "^2.0"
}, },
"require-dev": { "require-dev": {
"ext-tokenizer": "*" "ext-tokenizer": "*",
"psalm/phar": "^4.8"
}, },
"time": "2020-09-17T18:55:26+00:00", "time": "2021-10-02T14:08:47+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -2281,29 +2344,29 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues", "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
}, },
"install-path": "../phpdocumentor/type-resolver" "install-path": "../phpdocumentor/type-resolver"
}, },
{ {
"name": "psr/container", "name": "psr/container",
"version": "1.1.1", "version": "1.1.2",
"version_normalized": "1.1.1.0", "version_normalized": "1.1.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/container.git", "url": "https://github.com/php-fig/container.git",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2.0" "php": ">=7.4.0"
}, },
"time": "2021-03-05T17:36:06+00:00", "time": "2021-11-05T16:50:12+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2332,7 +2395,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/php-fig/container/issues", "issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.1" "source": "https://github.com/php-fig/container/tree/1.1.2"
}, },
"install-path": "../psr/container" "install-path": "../psr/container"
}, },
@@ -2541,28 +2604,28 @@
}, },
{ {
"name": "sabre/event", "name": "sabre/event",
"version": "5.1.2", "version": "5.1.4",
"version_normalized": "5.1.2.0", "version_normalized": "5.1.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sabre-io/event.git", "url": "https://github.com/sabre-io/event.git",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a" "reference": "d7da22897125d34d7eddf7977758191c06a74497"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sabre-io/event/zipball/c120bec57c17b6251a496efc82b732418b49d50a", "url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a", "reference": "d7da22897125d34d7eddf7977758191c06a74497",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1 || ^8.0" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "~2.16.1", "friendsofphp/php-cs-fixer": "~2.17.1",
"phpstan/phpstan": "^0.12", "phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
}, },
"time": "2020-10-03T11:02:22+00:00", "time": "2021-11-04T06:51:17+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2608,82 +2671,6 @@
}, },
"install-path": "../sabre/event" "install-path": "../sabre/event"
}, },
{
"name": "scssphp/scssphp",
"version": "v1.6.0",
"version_normalized": "1.6.0.0",
"source": {
"type": "git",
"url": "https://github.com/scssphp/scssphp.git",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/scssphp/scssphp/zipball/b83594e2323c5d6e80785df3f91b9d1d32aad530",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"php": ">=5.6.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4",
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4",
"sass/sass-spec": "*",
"squizlabs/php_codesniffer": "~3.5",
"symfony/phpunit-bridge": "^5.1",
"twbs/bootstrap": "~5.0",
"twbs/bootstrap4": "4.6.0",
"zurb/foundation": "~6.5"
},
"suggest": {
"ext-iconv": "Can be used as fallback when ext-mbstring is not available",
"ext-mbstring": "For best performance, mbstring should be installed as it is faster than ext-iconv"
},
"time": "2021-07-02T16:28:10+00:00",
"bin": [
"bin/pscss"
],
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"ScssPhp\\ScssPhp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthon Pang",
"email": "apang@softwaredevelopment.ca",
"homepage": "https://github.com/robocoder"
},
{
"name": "Cédric Morin",
"email": "cedric@yterium.com",
"homepage": "https://github.com/Cerdic"
}
],
"description": "scssphp is a compiler for SCSS written in PHP.",
"homepage": "http://scssphp.github.io/scssphp/",
"keywords": [
"css",
"less",
"sass",
"scss",
"stylesheet"
],
"support": {
"issues": "https://github.com/scssphp/scssphp/issues",
"source": "https://github.com/scssphp/scssphp/tree/v1.6.0"
},
"install-path": "../scssphp/scssphp"
},
{ {
"name": "sergeytsalkov/meekrodb", "name": "sergeytsalkov/meekrodb",
"version": "v2.4", "version": "v2.4",
@@ -2737,17 +2724,17 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v5.3.6", "version": "v5.3.10",
"version_normalized": "5.3.6.0", "version_normalized": "5.3.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2785,7 +2772,7 @@
"symfony/lock": "", "symfony/lock": "",
"symfony/process": "" "symfony/process": ""
}, },
"time": "2021-07-27T19:10:22+00:00", "time": "2021-10-26T09:30:15+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2819,7 +2806,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v5.3.6" "source": "https://github.com/symfony/console/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -2909,17 +2896,17 @@
}, },
{ {
"name": "symfony/lock", "name": "symfony/lock",
"version": "v4.4.27", "version": "v4.4.33",
"version_normalized": "4.4.27.0", "version_normalized": "4.4.33.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/lock.git", "url": "https://github.com/symfony/lock.git",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486" "reference": "567d29b1bc6e3937652054dafc069151d17824a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/lock/zipball/6ca476d4ac992802f2a4043929f68f1818449486", "url": "https://api.github.com/repos/symfony/lock/zipball/567d29b1bc6e3937652054dafc069151d17824a9",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486", "reference": "567d29b1bc6e3937652054dafc069151d17824a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2934,7 +2921,7 @@
"doctrine/dbal": "^2.6|^3.0", "doctrine/dbal": "^2.6|^3.0",
"predis/predis": "~1.0" "predis/predis": "~1.0"
}, },
"time": "2021-07-23T15:41:52+00:00", "time": "2021-10-05T20:27:01+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2970,7 +2957,7 @@
"semaphore" "semaphore"
], ],
"support": { "support": {
"source": "https://github.com/symfony/lock/tree/v4.4.27" "source": "https://github.com/symfony/lock/tree/v4.4.33"
}, },
"funding": [ "funding": [
{ {
@@ -3745,17 +3732,17 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v5.3.3", "version": "v5.3.10",
"version_normalized": "5.3.3.0", "version_normalized": "5.3.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3772,7 +3759,7 @@
"symfony/translation-contracts": "^1.1|^2", "symfony/translation-contracts": "^1.1|^2",
"symfony/var-exporter": "^4.4|^5.0" "symfony/var-exporter": "^4.4|^5.0"
}, },
"time": "2021-06-27T11:44:38+00:00", "time": "2021-10-27T18:21:46+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -3811,7 +3798,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v5.3.3" "source": "https://github.com/symfony/string/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -3831,17 +3818,17 @@
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v5.3.7", "version": "v5.3.10",
"version_normalized": "5.3.7.0", "version_normalized": "5.3.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6" "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3878,7 +3865,7 @@
"symfony/config": "", "symfony/config": "",
"symfony/yaml": "" "symfony/yaml": ""
}, },
"time": "2021-08-26T08:22:53+00:00", "time": "2021-10-10T06:43:24+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -3909,7 +3896,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v5.3.7" "source": "https://github.com/symfony/translation/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -4010,17 +3997,17 @@
}, },
{ {
"name": "tysonandre/var_representation_polyfill", "name": "tysonandre/var_representation_polyfill",
"version": "0.0.2", "version": "0.1.1",
"version_normalized": "0.0.2.0", "version_normalized": "0.1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/TysonAndre/var_representation_polyfill.git", "url": "https://github.com/TysonAndre/var_representation_polyfill.git",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33" "reference": "0a942e74e18af5514749895507bc6ca7ab96399a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/3f17999ee1f257319ddc6721dd26ebbc5d175f33", "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/0a942e74e18af5514749895507bc6ca7ab96399a",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33", "reference": "0a942e74e18af5514749895507bc6ca7ab96399a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4031,7 +4018,10 @@
"phan/phan": "^4.0", "phan/phan": "^4.0",
"phpunit/phpunit": "^8.5.0" "phpunit/phpunit": "^8.5.0"
}, },
"time": "2021-06-26T18:55:02+00:00", "suggest": {
"ext-var_representation": "*"
},
"time": "2021-08-16T00:12:50+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -4051,14 +4041,14 @@
"name": "Tyson Andre" "name": "Tyson Andre"
} }
], ],
"description": "Polyfill for var_representation", "description": "Polyfill for var_representation: convert a variable to a string in a way that fixes the shortcomings of var_export",
"keywords": [ "keywords": [
"var_export", "var_export",
"var_representation" "var_representation"
], ],
"support": { "support": {
"issues": "https://github.com/TysonAndre/var_representation_polyfill/issues", "issues": "https://github.com/TysonAndre/var_representation_polyfill/issues",
"source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.0.2" "source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.1.1"
}, },
"install-path": "../tysonandre/var_representation_polyfill" "install-path": "../tysonandre/var_representation_polyfill"
}, },
+72 -81
View File
@@ -6,7 +6,7 @@
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
'name' => 'sammo-hid/sammo', 'name' => 'sammo-hid/sammo',
), ),
'versions' => 'versions' =>
@@ -31,12 +31,12 @@
), ),
'composer/semver' => 'composer/semver' =>
array ( array (
'pretty_version' => '3.2.5', 'pretty_version' => '3.2.6',
'version' => '3.2.5.0', 'version' => '3.2.6.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '31f3ea725711245195f62e54ffa402d8ef2fdba9', 'reference' => '83e511e247de329283478496f7a1e114c9517506',
), ),
'composer/xdebug-handler' => 'composer/xdebug-handler' =>
array ( array (
@@ -49,12 +49,12 @@
), ),
'doctrine/inflector' => 'doctrine/inflector' =>
array ( array (
'pretty_version' => '2.0.3', 'pretty_version' => '2.0.4',
'version' => '2.0.3.0', 'version' => '2.0.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '9cf661f4eb38f7c881cac67c75ea9b00bf97b210', 'reference' => '8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89',
), ),
'erusev/parsedown' => 'erusev/parsedown' =>
array ( array (
@@ -112,80 +112,80 @@
), ),
'guzzlehttp/promises' => 'guzzlehttp/promises' =>
array ( array (
'pretty_version' => '1.4.1', 'pretty_version' => '1.5.1',
'version' => '1.4.1.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d', 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da',
), ),
'guzzlehttp/psr7' => 'guzzlehttp/psr7' =>
array ( array (
'pretty_version' => '1.8.2', 'pretty_version' => '1.8.3',
'version' => '1.8.2.0', 'version' => '1.8.3.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'dc960a912984efb74d0a90222870c72c87f10c91', 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85',
), ),
'illuminate/bus' => 'illuminate/bus' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '808097c0dfd893309bd77b00139586c516b965c9', 'reference' => 'be400399687b97d5558a224e970060fd5d5f2735',
), ),
'illuminate/collections' => 'illuminate/collections' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '18fa841df912ec56849351dd6ca8928e8a98b69d', 'reference' => '05f286ec5fd2dd286e8384577047efc375c8954c',
), ),
'illuminate/container' => 'illuminate/container' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '862b64ea4ab56e307a1676104a1b93295d347ad0', 'reference' => 'ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d',
), ),
'illuminate/contracts' => 'illuminate/contracts' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913', 'reference' => 'e76f4bce73a2a1656add24bd5210ebc4b8af49c0',
), ),
'illuminate/database' => 'illuminate/database' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'acc11d6839ddb3b694bc6585177fa5141b70c693', 'reference' => '43c7ffb6299ae55b000b286cf1278afd268ef29f',
), ),
'illuminate/events' => 'illuminate/events' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '7def78033f29cd0c0383513b27c291d233a7f90e', 'reference' => 'b7f06cafb6c09581617f2ca05d69e9b159e5a35d',
), ),
'illuminate/macroable' => 'illuminate/macroable' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -193,8 +193,8 @@
), ),
'illuminate/pipeline' => 'illuminate/pipeline' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -202,12 +202,12 @@
), ),
'illuminate/support' => 'illuminate/support' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'b0a21c41163381dd9a5abbd68fe85ed7b4247d30', 'reference' => 'a8851b7001530d3c11626a81449ed9b63dd10db7',
), ),
'league/plates' => 'league/plates' =>
array ( array (
@@ -238,12 +238,12 @@
), ),
'nesbot/carbon' => 'nesbot/carbon' =>
array ( array (
'pretty_version' => '2.53.1', 'pretty_version' => '2.54.0',
'version' => '2.53.1.0', 'version' => '2.54.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'f4655858a784988f880c1b8c7feabbf02dfdf045', 'reference' => 'eed83939f1aed3eee517d03a33f5ec587ac529b5',
), ),
'netresearch/jsonmapper' => 'netresearch/jsonmapper' =>
array ( array (
@@ -274,12 +274,12 @@
), ),
'nette/utils' => 'nette/utils' =>
array ( array (
'pretty_version' => 'v3.2.2', 'pretty_version' => 'v3.2.5',
'version' => '3.2.2.0', 'version' => '3.2.5.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '967cfc4f9a1acd5f1058d76715a424c53343c20c', 'reference' => '9cd80396ca58d7969ab44fc7afcf03624dfa526e',
), ),
'pguardiario/phpuri' => 'pguardiario/phpuri' =>
array ( array (
@@ -328,30 +328,30 @@
), ),
'phpdocumentor/reflection-docblock' => 'phpdocumentor/reflection-docblock' =>
array ( array (
'pretty_version' => '5.2.2', 'pretty_version' => '5.3.0',
'version' => '5.2.2.0', 'version' => '5.3.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556', 'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170',
), ),
'phpdocumentor/type-resolver' => 'phpdocumentor/type-resolver' =>
array ( array (
'pretty_version' => '1.4.0', 'pretty_version' => '1.5.1',
'version' => '1.4.0.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0', 'reference' => 'a12f7e301eb7258bb68acd89d4aefa05c2906cae',
), ),
'psr/container' => 'psr/container' =>
array ( array (
'pretty_version' => '1.1.1', 'pretty_version' => '1.1.2',
'version' => '1.1.1.0', 'version' => '1.1.2.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
), ),
'psr/container-implementation' => 'psr/container-implementation' =>
array ( array (
@@ -413,12 +413,12 @@
), ),
'sabre/event' => 'sabre/event' =>
array ( array (
'pretty_version' => '5.1.2', 'pretty_version' => '5.1.4',
'version' => '5.1.2.0', 'version' => '5.1.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'c120bec57c17b6251a496efc82b732418b49d50a', 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497',
), ),
'sammo-hid/sammo' => 'sammo-hid/sammo' =>
array ( array (
@@ -427,16 +427,7 @@
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
),
'scssphp/scssphp' =>
array (
'pretty_version' => 'v1.6.0',
'version' => '1.6.0.0',
'aliases' =>
array (
),
'reference' => 'b83594e2323c5d6e80785df3f91b9d1d32aad530',
), ),
'sergeytsalkov/meekrodb' => 'sergeytsalkov/meekrodb' =>
array ( array (
@@ -449,12 +440,12 @@
), ),
'symfony/console' => 'symfony/console' =>
array ( array (
'pretty_version' => 'v5.3.6', 'pretty_version' => 'v5.3.10',
'version' => '5.3.6.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '51b71afd6d2dc8f5063199357b9880cea8d8bfe2', 'reference' => 'd4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3',
), ),
'symfony/deprecation-contracts' => 'symfony/deprecation-contracts' =>
array ( array (
@@ -467,12 +458,12 @@
), ),
'symfony/lock' => 'symfony/lock' =>
array ( array (
'pretty_version' => 'v4.4.27', 'pretty_version' => 'v4.4.33',
'version' => '4.4.27.0', 'version' => '4.4.33.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6ca476d4ac992802f2a4043929f68f1818449486', 'reference' => '567d29b1bc6e3937652054dafc069151d17824a9',
), ),
'symfony/polyfill-ctype' => 'symfony/polyfill-ctype' =>
array ( array (
@@ -557,21 +548,21 @@
), ),
'symfony/string' => 'symfony/string' =>
array ( array (
'pretty_version' => 'v5.3.3', 'pretty_version' => 'v5.3.10',
'version' => '5.3.3.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1', 'reference' => 'd70c35bb20bbca71fc4ab7921e3c6bda1a82a60c',
), ),
'symfony/translation' => 'symfony/translation' =>
array ( array (
'pretty_version' => 'v5.3.7', 'pretty_version' => 'v5.3.10',
'version' => '5.3.7.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6', 'reference' => '6ef197aea2ac8b9cd63e0da7522b3771714035aa',
), ),
'symfony/translation-contracts' => 'symfony/translation-contracts' =>
array ( array (
@@ -591,12 +582,12 @@
), ),
'tysonandre/var_representation_polyfill' => 'tysonandre/var_representation_polyfill' =>
array ( array (
'pretty_version' => '0.0.2', 'pretty_version' => '0.1.1',
'version' => '0.0.2.0', 'version' => '0.1.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '3f17999ee1f257319ddc6721dd26ebbc5d175f33', 'reference' => '0a942e74e18af5514749895507bc6ca7ab96399a',
), ),
'vlucas/valitron' => 'vlucas/valitron' =>
array ( array (
+2 -2
View File
@@ -4,8 +4,8 @@
$issues = array(); $issues = array();
if (!(PHP_VERSION_ID >= 70300)) { if (!(PHP_VERSION_ID >= 70400)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.'; $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
} }
if ($issues) { if ($issues) {
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
### [3.2.6] 2021-10-25
* Fixed: type improvements to parseStability
### [3.2.5] 2021-05-24 ### [3.2.5] 2021-05-24
* Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127) * Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127)
+1
View File
@@ -47,6 +47,7 @@ class VersionParser
* @param string $version * @param string $version
* *
* @return string * @return string
* @phpstan-return 'stable'|'RC'|'beta'|'alpha'|'dev'
*/ */
public static function parseStability($version) public static function parseStability($version)
{ {
+2 -3
View File
@@ -3,6 +3,5 @@
Doctrine Inflector is a small library that can perform string manipulations Doctrine Inflector is a small library that can perform string manipulations
with regard to uppercase/lowercase and singular/plural forms of words. with regard to uppercase/lowercase and singular/plural forms of words.
[![Build Status](https://travis-ci.org/doctrine/inflector.svg)](https://travis-ci.org/doctrine/inflector) [![Build Status](https://github.com/doctrine/inflector/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/inflector/actions?query=workflow%3A%22Continuous+Integration%22+branch%3A4.0.x)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/inflector/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/inflector/?branch=master) [![Code Coverage](https://codecov.io/gh/doctrine/inflector/branch/2.0.x/graph/badge.svg)](https://codecov.io/gh/doctrine/inflector/branch/2.0.x)
[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/inflector/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/inflector/?branch=master)
+6 -10
View File
@@ -16,11 +16,12 @@
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@@ -31,10 +32,5 @@
"psr-4": { "psr-4": {
"Doctrine\\Tests\\Inflector\\": "tests/Doctrine/Tests/Inflector" "Doctrine\\Tests\\Inflector\\": "tests/Doctrine/Tests/Inflector"
} }
},
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
} }
} }
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector; namespace Doctrine\Inflector;
use Doctrine\Inflector\Rules\Ruleset; use Doctrine\Inflector\Rules\Ruleset;
use function array_unshift; use function array_unshift;
abstract class GenericLanguageInflectorFactory implements LanguageInflectorFactory abstract class GenericLanguageInflectorFactory implements LanguageInflectorFactory
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector; namespace Doctrine\Inflector;
use RuntimeException; use RuntimeException;
use function chr; use function chr;
use function function_exists; use function function_exists;
use function lcfirst; use function lcfirst;
@@ -11,6 +11,7 @@ use Doctrine\Inflector\Rules\Portuguese;
use Doctrine\Inflector\Rules\Spanish; use Doctrine\Inflector\Rules\Spanish;
use Doctrine\Inflector\Rules\Turkish; use Doctrine\Inflector\Rules\Turkish;
use InvalidArgumentException; use InvalidArgumentException;
use function sprintf; use function sprintf;
final class InflectorFactory final class InflectorFactory
@@ -25,16 +26,22 @@ final class InflectorFactory
switch ($language) { switch ($language) {
case Language::ENGLISH: case Language::ENGLISH:
return new English\InflectorFactory(); return new English\InflectorFactory();
case Language::FRENCH: case Language::FRENCH:
return new French\InflectorFactory(); return new French\InflectorFactory();
case Language::NORWEGIAN_BOKMAL: case Language::NORWEGIAN_BOKMAL:
return new NorwegianBokmal\InflectorFactory(); return new NorwegianBokmal\InflectorFactory();
case Language::PORTUGUESE: case Language::PORTUGUESE:
return new Portuguese\InflectorFactory(); return new Portuguese\InflectorFactory();
case Language::SPANISH: case Language::SPANISH:
return new Spanish\InflectorFactory(); return new Spanish\InflectorFactory();
case Language::TURKISH: case Language::TURKISH:
return new Turkish\InflectorFactory(); return new Turkish\InflectorFactory();
default: default:
throw new InvalidArgumentException(sprintf( throw new InvalidArgumentException(sprintf(
'Language "%s" is not supported.', 'Language "%s" is not supported.',
@@ -31,9 +31,10 @@ class Inflectible
yield new Transformation(new Pattern('/(s|x|z)$/'), '\1'); yield new Transformation(new Pattern('/(s|x|z)$/'), '\1');
yield new Transformation(new Pattern('/(b|cor|ém|gemm|soupir|trav|vant|vitr)ail$/'), '\1aux'); yield new Transformation(new Pattern('/(b|cor|ém|gemm|soupir|trav|vant|vitr)ail$/'), '\1aux');
yield new Transformation(new Pattern('/ail$/'), 'ails'); yield new Transformation(new Pattern('/ail$/'), 'ails');
yield new Transformation(new Pattern('/(chacal|carnaval|festival|récital)$/'), '\1s');
yield new Transformation(new Pattern('/al$/'), 'aux'); yield new Transformation(new Pattern('/al$/'), 'aux');
yield new Transformation(new Pattern('/(bleu|émeu|landau|lieu|pneu|sarrau)$/'), '\1s'); yield new Transformation(new Pattern('/(bleu|émeu|landau|pneu|sarrau)$/'), '\1s');
yield new Transformation(new Pattern('/(bijou|caillou|chou|genou|hibou|joujou|pou|au|eu|eau)$/'), '\1x'); yield new Transformation(new Pattern('/(bijou|caillou|chou|genou|hibou|joujou|lieu|pou|au|eu|eau)$/'), '\1x');
yield new Transformation(new Pattern('/$/'), 's'); yield new Transformation(new Pattern('/$/'), 's');
} }
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector\Rules; namespace Doctrine\Inflector\Rules;
use Doctrine\Inflector\WordInflector; use Doctrine\Inflector\WordInflector;
use function strtolower; use function strtolower;
use function strtoupper; use function strtoupper;
use function substr; use function substr;
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector\Rules; namespace Doctrine\Inflector\Rules;
use Doctrine\Inflector\WordInflector; use Doctrine\Inflector\WordInflector;
use function preg_replace; use function preg_replace;
final class Transformation implements WordInflector final class Transformation implements WordInflector
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector; namespace Doctrine\Inflector;
use Doctrine\Inflector\Rules\Ruleset; use Doctrine\Inflector\Rules\Ruleset;
use function array_merge; use function array_merge;
/** /**
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<psalm
errorLevel="7"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>
<projectFiles>
<directory name="lib/Doctrine/Inflector" />
<ignoreFiles>
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
</psalm>
+19
View File
@@ -1,7 +1,26 @@
# CHANGELOG # CHANGELOG
## 1.5.1 - 2021-10-22
### Fixed
- Revert "Call handler when waiting on fulfilled/rejected Promise"
- Fix pool memory leak when empty array of promises provided
## 1.5.0 - 2021-10-07
### Changed
- Call handler when waiting on fulfilled/rejected Promise
### Fixed
- Fix manually settle promises generated with Utils::task
## 1.4.1 - 2021-02-18 ## 1.4.1 - 2021-02-18
### Fixed
- Fixed `each_limit` skipping promises and failing - Fixed `each_limit` skipping promises and failing
## 1.4.0 - 2020-09-30 ## 1.4.0 - 2020-09-30
+6 -1
View File
@@ -1,4 +1,9 @@
Copyright (c) 2015-2016 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com> The MIT License (MIT)
Copyright (c) 2015 Michael Dowling <mtdowling@gmail.com>
Copyright (c) 2015 Graham Campbell <hello@gjcampbell.co.uk>
Copyright (c) 2017 Tobias Schultze <webmaster@tubo-world.de>
Copyright (c) 2020 Tobias Nyholm <tobias.nyholm@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+15
View File
@@ -530,3 +530,18 @@ A static API was first introduced in 1.4.0, in order to mitigate problems with f
| `is_rejected` | `Is::rejected` | | `is_rejected` | `Is::rejected` |
| `is_settled` | `Is::settled` | | `is_settled` | `Is::settled` |
| `coroutine` | `Coroutine::of` | | `coroutine` | `Coroutine::of` |
## Security
If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/promises/security/policy) for more information.
## License
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
## For Enterprise
Available as part of the Tidelift Subscription
The maintainers of Guzzle and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-guzzlehttp-promises?utm_source=packagist-guzzlehttp-promises&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
+20 -1
View File
@@ -4,10 +4,25 @@
"keywords": ["promise"], "keywords": ["promise"],
"license": "MIT", "license": "MIT",
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"require": { "require": {
@@ -33,7 +48,11 @@
}, },
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4-dev" "dev-master": "1.5-dev"
} }
},
"config": {
"preferred-install": "dist",
"sort-packages": true
} }
} }
+3 -2
View File
@@ -79,9 +79,7 @@ class EachPromise implements PromisorInterface
$this->createPromise(); $this->createPromise();
/** @psalm-assert Promise $this->aggregate */ /** @psalm-assert Promise $this->aggregate */
$this->iterable->rewind(); $this->iterable->rewind();
if (!$this->checkIfFinished()) {
$this->refillPending(); $this->refillPending();
}
} catch (\Throwable $e) { } catch (\Throwable $e) {
/** /**
* @psalm-suppress NullReference * @psalm-suppress NullReference
@@ -107,6 +105,9 @@ class EachPromise implements PromisorInterface
{ {
$this->mutex = false; $this->mutex = false;
$this->aggregate = new Promise(function () { $this->aggregate = new Promise(function () {
if ($this->checkIfFinished()) {
return;
}
reset($this->pending); reset($this->pending);
// Consume a potentially fluctuating list of promises while // Consume a potentially fluctuating list of promises while
// ensuring that indexes are maintained (precluding array_shift). // ensuring that indexes are maintained (precluding array_shift).
+2
View File
@@ -48,7 +48,9 @@ final class Utils
$promise = new Promise([$queue, 'run']); $promise = new Promise([$queue, 'run']);
$queue->add(function () use ($task, $promise) { $queue->add(function () use ($task, $promise) {
try { try {
if (Is::pending($promise)) {
$promise->resolve($task()); $promise->resolve($task());
}
} catch (\Throwable $e) { } catch (\Throwable $e) {
$promise->reject($e); $promise->reject($e);
} catch (\Exception $e) { } catch (\Exception $e) {
+2
View File
@@ -0,0 +1,2 @@
github: [Nyholm, GrahamCampbell]
tidelift: "packagist/guzzlehttp/psr7"
+14
View File
@@ -0,0 +1,14 @@
daysUntilStale: 120
daysUntilClose: 14
exemptLabels:
- lifecycle/keep-open
- lifecycle/ready-for-merge
# Label to use when marking an issue as stale
staleLabel: lifecycle/stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed after 2 weeks if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
-16
View File
@@ -1,16 +0,0 @@
name: BC Check
on:
pull_request:
jobs:
roave-bc-check:
name: Roave BC Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Roave BC Check
uses: docker://nyholm/roave-bc-check-ga
+6 -2
View File
@@ -10,7 +10,7 @@ jobs:
strategy: strategy:
max-parallel: 10 max-parallel: 10
matrix: matrix:
php: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4'] php: ['5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1']
steps: steps:
- name: Set up PHP - name: Set up PHP
@@ -23,8 +23,12 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Mimic PHP 8.0
run: composer config platform.php 8.0.999
if: matrix.php > 8
- name: Install dependencies - name: Install dependencies
run: composer update --no-interaction --no-progress --prefer-dist run: composer update --no-interaction --no-progress
- name: Run tests - name: Run tests
run: make test run: make test
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- name: Download dependencies - name: Download dependencies
uses: ramsey/composer-install@v1 uses: ramsey/composer-install@v1
with: with:
composer-options: --no-interaction --prefer-dist --optimize-autoloader composer-options: --no-interaction --optimize-autoloader
- name: Start server - name: Start server
run: php -S 127.0.0.1:10002 tests/Integration/server.php & run: php -S 127.0.0.1:10002 tests/Integration/server.php &
+6
View File
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## Unreleased ## Unreleased
## 1.8.3 - 2021-10-05
### Fixed
- Return `null` in caching stream size if remote size is `null`
## 1.8.2 - 2021-04-26 ## 1.8.2 - 2021-04-26
### Fixed ### Fixed
+8 -1
View File
@@ -1,4 +1,11 @@
Copyright (c) 2015 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com> The MIT License (MIT)
Copyright (c) 2015 Michael Dowling <mtdowling@gmail.com>
Copyright (c) 2015 Márk Sági-Kazár <mark.sagikazar@gmail.com>
Copyright (c) 2015 Graham Campbell <hello@gjcampbell.co.uk>
Copyright (c) 2016 Tobias Schultze <webmaster@tubo-world.de>
Copyright (c) 2016 George Mponos <gmponos@gmail.com>
Copyright (c) 2018 Tobias Nyholm <tobias.nyholm@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+15
View File
@@ -807,3 +807,18 @@ Whether two URIs can be considered equivalent. Both URIs are normalized automati
`$normalizations` bitmask. The method also accepts relative URI references and returns true when they are equivalent. `$normalizations` bitmask. The method also accepts relative URI references and returns true when they are equivalent.
This of course assumes they will be resolved against the same base URI. If this is not the case, determination of This of course assumes they will be resolved against the same base URI. If this is not the case, determination of
equivalence or difference of relative references does not mean anything. equivalence or difference of relative references does not mean anything.
## Security
If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/psr7/security/policy) for more information.
## License
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
## For Enterprise
Available as part of the Tidelift Subscription
The maintainers of Guzzle and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-guzzlehttp-psr7?utm_source=packagist-guzzlehttp-psr7&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
+25 -1
View File
@@ -1,17 +1,37 @@
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"type": "library",
"description": "PSR-7 message implementation that also provides common utility methods", "description": "PSR-7 message implementation that also provides common utility methods",
"keywords": ["request", "response", "message", "stream", "http", "uri", "url", "psr-7"], "keywords": ["request", "response", "message", "stream", "http", "uri", "url", "psr-7"],
"license": "MIT", "license": "MIT",
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://github.com/sagikazarmark"
},
{ {
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
} }
], ],
@@ -45,5 +65,9 @@
"branch-alias": { "branch-alias": {
"dev-master": "1.7-dev" "dev-master": "1.7-dev"
} }
},
"config": {
"preferred-install": "dist",
"sort-packages": true
} }
} }
+7 -1
View File
@@ -36,7 +36,13 @@ class CachingStream implements StreamInterface
public function getSize() public function getSize()
{ {
return max($this->stream->getSize(), $this->remoteStream->getSize()); $remoteSize = $this->remoteStream->getSize();
if (null === $remoteSize) {
return null;
}
return max($this->stream->getSize(), $remoteSize);
} }
public function rewind() public function rewind()
+2 -5
View File
@@ -7,7 +7,6 @@ use Closure;
use Illuminate\Contracts\Queue\Factory as QueueFactory; use Illuminate\Contracts\Queue\Factory as QueueFactory;
use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Queue\CallQueuedClosure; use Illuminate\Queue\CallQueuedClosure;
use Illuminate\Queue\SerializableClosure;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use JsonSerializable; use JsonSerializable;
@@ -420,7 +419,7 @@ class Batch implements Arrayable, JsonSerializable
/** /**
* Invoke a batch callback handler. * Invoke a batch callback handler.
* *
* @param \Illuminate\Queue\SerializableClosure|callable $handler * @param callable $handler
* @param \Illuminate\Bus\Batch $batch * @param \Illuminate\Bus\Batch $batch
* @param \Throwable|null $e * @param \Throwable|null $e
* @return void * @return void
@@ -428,9 +427,7 @@ class Batch implements Arrayable, JsonSerializable
protected function invokeHandlerCallback($handler, Batch $batch, Throwable $e = null) protected function invokeHandlerCallback($handler, Batch $batch, Throwable $e = null)
{ {
try { try {
return $handler instanceof SerializableClosure return $handler($batch, $e);
? $handler->__invoke($batch, $e)
: call_user_func($handler, $batch, $e);
} catch (Throwable $e) { } catch (Throwable $e) {
if (function_exists('report')) { if (function_exists('report')) {
report($e); report($e);
+4 -4
View File
@@ -6,7 +6,7 @@ use Closure;
use Illuminate\Bus\Events\BatchDispatched; use Illuminate\Bus\Events\BatchDispatched;
use Illuminate\Contracts\Container\Container; use Illuminate\Contracts\Container\Container;
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher; use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
use Illuminate\Queue\SerializableClosure; use Illuminate\Queue\SerializableClosureFactory;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Throwable; use Throwable;
@@ -78,7 +78,7 @@ class PendingBatch
public function then($callback) public function then($callback)
{ {
$this->options['then'][] = $callback instanceof Closure $this->options['then'][] = $callback instanceof Closure
? new SerializableClosure($callback) ? SerializableClosureFactory::make($callback)
: $callback; : $callback;
return $this; return $this;
@@ -103,7 +103,7 @@ class PendingBatch
public function catch($callback) public function catch($callback)
{ {
$this->options['catch'][] = $callback instanceof Closure $this->options['catch'][] = $callback instanceof Closure
? new SerializableClosure($callback) ? SerializableClosureFactory::make($callback)
: $callback; : $callback;
return $this; return $this;
@@ -128,7 +128,7 @@ class PendingBatch
public function finally($callback) public function finally($callback)
{ {
$this->options['finally'][] = $callback instanceof Closure $this->options['finally'][] = $callback instanceof Closure
? new SerializableClosure($callback) ? SerializableClosureFactory::make($callback)
: $callback; : $callback;
return $this; return $this;
+1 -2
View File
@@ -4,7 +4,6 @@ namespace Illuminate\Bus;
use Closure; use Closure;
use Illuminate\Queue\CallQueuedClosure; use Illuminate\Queue\CallQueuedClosure;
use Illuminate\Queue\SerializableClosure;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use RuntimeException; use RuntimeException;
@@ -245,7 +244,7 @@ trait Queueable
public function invokeChainCatchCallbacks($e) public function invokeChainCatchCallbacks($e)
{ {
collect($this->chainCatchCallbacks)->each(function ($callback) use ($e) { collect($this->chainCatchCallbacks)->each(function ($callback) use ($e) {
$callback instanceof SerializableClosure ? $callback->__invoke($e) : call_user_func($callback, $e); $callback($e);
}); });
} }
} }
+48
View File
@@ -0,0 +1,48 @@
<?php
namespace Illuminate\Bus;
use Illuminate\Contracts\Cache\Repository as Cache;
class UniqueLock
{
/**
* The cache repository implementation.
*
* @var \Illuminate\Contracts\Cache\Repository
*/
protected $cache;
/**
* Create a new unique lock manager instance.
*
* @param \Illuminate\Contracts\Cache\Repository $cache
* @return void
*/
public function __construct(Cache $cache)
{
$this->cache = $cache;
}
/**
* Attempt to acquire a lock for the given job.
*
* @param mixed $job
* @return bool
*/
public function acquire($job)
{
$uniqueId = method_exists($job, 'uniqueId')
? $job->uniqueId()
: ($job->uniqueId ?? '');
$cache = method_exists($job, 'uniqueVia')
? $job->uniqueVia()
: $this->cache;
return (bool) $cache->lock(
$key = 'laravel_unique_job:'.get_class($job).$uniqueId,
$job->uniqueFor ?? 0
)->get();
}
}
+13
View File
@@ -393,6 +393,19 @@ class Arr
return array_keys($keys) !== $keys; return array_keys($keys) !== $keys;
} }
/**
* Determines if an array is a list.
*
* An array is a "list" if all array keys are sequential integers starting from 0 with no gaps in between.
*
* @param array $array
* @return bool
*/
public static function isList($array)
{
return ! self::isAssoc($array);
}
/** /**
* Get a subset of the items from the given array. * Get a subset of the items from the given array.
* *
+47 -1
View File
@@ -4,11 +4,12 @@ namespace Illuminate\Support;
use ArrayAccess; use ArrayAccess;
use ArrayIterator; use ArrayIterator;
use Illuminate\Contracts\Support\CanBeEscapedWhenCastToString;
use Illuminate\Support\Traits\EnumeratesValues; use Illuminate\Support\Traits\EnumeratesValues;
use Illuminate\Support\Traits\Macroable; use Illuminate\Support\Traits\Macroable;
use stdClass; use stdClass;
class Collection implements ArrayAccess, Enumerable class Collection implements ArrayAccess, CanBeEscapedWhenCastToString, Enumerable
{ {
use EnumeratesValues, Macroable; use EnumeratesValues, Macroable;
@@ -501,6 +502,29 @@ class Collection implements ArrayAccess, Enumerable
return true; return true;
} }
/**
* Determine if any of the keys exist in the collection.
*
* @param mixed $key
* @return bool
*/
public function hasAny($key)
{
if ($this->isEmpty()) {
return false;
}
$keys = is_array($key) ? $key : func_get_args();
foreach ($keys as $value) {
if ($this->has($value)) {
return true;
}
}
return false;
}
/** /**
* Concatenate values of a given key as a string. * Concatenate values of a given key as a string.
* *
@@ -1411,6 +1435,28 @@ class Collection implements ArrayAccess, Enumerable
return $this; return $this;
} }
/**
* Return only unique items from the collection array.
*
* @param string|callable|null $key
* @param bool $strict
* @return static
*/
public function unique($key = null, $strict = false)
{
$callback = $this->valueRetriever($key);
$exists = [];
return $this->reject(function ($item, $key) use ($callback, $strict, &$exists) {
if (in_array($id = $callback($item, $key), $exists, $strict)) {
return true;
}
$exists[] = $id;
});
}
/** /**
* Reset the keys on the underlying array. * Reset the keys on the underlying array.
* *
+45 -1
View File
@@ -5,12 +5,13 @@ namespace Illuminate\Support;
use ArrayIterator; use ArrayIterator;
use Closure; use Closure;
use DateTimeInterface; use DateTimeInterface;
use Illuminate\Contracts\Support\CanBeEscapedWhenCastToString;
use Illuminate\Support\Traits\EnumeratesValues; use Illuminate\Support\Traits\EnumeratesValues;
use Illuminate\Support\Traits\Macroable; use Illuminate\Support\Traits\Macroable;
use IteratorAggregate; use IteratorAggregate;
use stdClass; use stdClass;
class LazyCollection implements Enumerable class LazyCollection implements CanBeEscapedWhenCastToString, Enumerable
{ {
use EnumeratesValues, Macroable; use EnumeratesValues, Macroable;
@@ -512,6 +513,25 @@ class LazyCollection implements Enumerable
return false; return false;
} }
/**
* Determine if any of the keys exist in the collection.
*
* @param mixed $key
* @return bool
*/
public function hasAny($key)
{
$keys = array_flip(is_array($key) ? $key : func_get_args());
foreach ($this as $key => $value) {
if (array_key_exists($key, $keys)) {
return true;
}
}
return false;
}
/** /**
* Concatenate values of a given key as a string. * Concatenate values of a given key as a string.
* *
@@ -1352,6 +1372,30 @@ class LazyCollection implements Enumerable
}); });
} }
/**
* Return only unique items from the collection array.
*
* @param string|callable|null $key
* @param bool $strict
* @return static
*/
public function unique($key = null, $strict = false)
{
$callback = $this->valueRetriever($key);
return new static(function () use ($callback, $strict) {
$exists = [];
foreach ($this as $key => $item) {
if (! in_array($id = $callback($item, $key), $exists, $strict)) {
yield $key => $item;
$exists[] = $id;
}
}
});
}
/** /**
* Reset the keys on the underlying array. * Reset the keys on the underlying array.
* *
+67 -23
View File
@@ -15,6 +15,7 @@ use Illuminate\Support\HigherOrderWhenProxy;
use JsonSerializable; use JsonSerializable;
use Symfony\Component\VarDumper\VarDumper; use Symfony\Component\VarDumper\VarDumper;
use Traversable; use Traversable;
use UnexpectedValueException;
/** /**
* @property-read HigherOrderCollectionProxy $average * @property-read HigherOrderCollectionProxy $average
@@ -45,6 +46,13 @@ use Traversable;
*/ */
trait EnumeratesValues trait EnumeratesValues
{ {
/**
* Indicates that the object's string representation should be escaped when __toString is invoked.
*
* @var bool
*/
protected $escapeWhenCastingToString = false;
/** /**
* The methods that can be proxied. * The methods that can be proxied.
* *
@@ -744,6 +752,49 @@ trait EnumeratesValues
return $result; return $result;
} }
/**
* Reduce the collection to multiple aggregate values.
*
* @param callable $callback
* @param mixed ...$initial
* @return array
*
* @deprecated Use "reduceSpread" instead
*
* @throws \UnexpectedValueException
*/
public function reduceMany(callable $callback, ...$initial)
{
return $this->reduceSpread($callback, ...$initial);
}
/**
* Reduce the collection to multiple aggregate values.
*
* @param callable $callback
* @param mixed ...$initial
* @return array
*
* @throws \UnexpectedValueException
*/
public function reduceSpread(callable $callback, ...$initial)
{
$result = $initial;
foreach ($this as $key => $value) {
$result = call_user_func_array($callback, array_merge($result, [$value, $key]));
if (! is_array($result)) {
throw new UnexpectedValueException(sprintf(
"%s::reduceMany expects reducer to return an array, but got a '%s' instead.",
class_basename(static::class), gettype($result)
));
}
}
return $result;
}
/** /**
* Reduce an associative collection to a single value. * Reduce an associative collection to a single value.
* *
@@ -773,28 +824,6 @@ trait EnumeratesValues
}); });
} }
/**
* Return only unique items from the collection array.
*
* @param string|callable|null $key
* @param bool $strict
* @return static
*/
public function unique($key = null, $strict = false)
{
$callback = $this->valueRetriever($key);
$exists = [];
return $this->reject(function ($item, $key) use ($callback, $strict, &$exists) {
if (in_array($id = $callback($item, $key), $exists, $strict)) {
return true;
}
$exists[] = $id;
});
}
/** /**
* Return only unique items from the collection array using strict comparison. * Return only unique items from the collection array using strict comparison.
* *
@@ -878,7 +907,22 @@ trait EnumeratesValues
*/ */
public function __toString() public function __toString()
{ {
return $this->toJson(); return $this->escapeWhenCastingToString
? e($this->toJson())
: $this->toJson();
}
/**
* Indicate that the model's string representation should be escaped when __toString is invoked.
*
* @param bool $escape
* @return $this
*/
public function escapeWhenCastingToString($escape = true)
{
$this->escapeWhenCastingToString = $escape;
return $this;
} }
/** /**
+4
View File
@@ -188,6 +188,8 @@ class Container implements ArrayAccess, ContainerContract
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @return bool
*/ */
public function has($id) public function has($id)
{ {
@@ -694,6 +696,8 @@ class Container implements ArrayAccess, ContainerContract
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @return mixed
*/ */
public function get($id) public function get($id)
{ {
+1 -1
View File
@@ -53,7 +53,7 @@ class Util
$type = $parameter->getType(); $type = $parameter->getType();
if (! $type instanceof ReflectionNamedType || $type->isBuiltin()) { if (! $type instanceof ReflectionNamedType || $type->isBuiltin()) {
return; return null;
} }
$name = $type->getName(); $name = $type->getName();
@@ -0,0 +1,14 @@
<?php
namespace Illuminate\Contracts\Support;
interface CanBeEscapedWhenCastToString
{
/**
* Indicate that the object's string representation should be escaped when __toString is invoked.
*
* @param bool $escape
* @return $this
*/
public function escapeWhenCastingToString($escape = true);
}
+24
View File
@@ -161,6 +161,13 @@ class Connection implements ConnectionInterface
*/ */
protected $pretending = false; protected $pretending = false;
/**
* All of the callbacks that should be invoked before a query is executed.
*
* @var array
*/
protected $beforeExecutingCallbacks = [];
/** /**
* The instance of Doctrine connection. * The instance of Doctrine connection.
* *
@@ -641,6 +648,10 @@ class Connection implements ConnectionInterface
*/ */
protected function run($query, $bindings, Closure $callback) protected function run($query, $bindings, Closure $callback)
{ {
foreach ($this->beforeExecutingCallbacks as $beforeExecutingCallback) {
$beforeExecutingCallback($query, $bindings, $this);
}
$this->reconnectIfMissingConnection(); $this->reconnectIfMissingConnection();
$start = microtime(true); $start = microtime(true);
@@ -807,6 +818,19 @@ class Connection implements ConnectionInterface
$this->setPdo(null)->setReadPdo(null); $this->setPdo(null)->setReadPdo(null);
} }
/**
* Register a hook to be run just before a database query is executed.
*
* @param \Closure $callback
* @return $this
*/
public function beforeExecuting(Closure $callback)
{
$this->beforeExecutingCallbacks[] = $callback;
return $this;
}
/** /**
* Register a database query listener with the connection. * Register a database query listener with the connection.
* *

Some files were not shown because too many files have changed in this diff Show More