{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":138666999,"defaultBranch":"main","name":"phpstan-disallowed-calls","ownerLogin":"spaze","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-06-26T01:09:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1966648?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715703880.0","currentOid":""},"activityList":{"items":[{"before":"f2e46bd7fddb6382e4889c557943750ee803e863","after":null,"ref":"refs/heads/spaze/error-identifiers","pushedAt":"2024-05-14T16:23:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"d58806c98ac70ba168bfc7c7f35304f78fc5d2e0","after":"f7f1dc8d5ceeb2d0532dc9df66d13964b4baa5f4","ref":"refs/heads/main","pushedAt":"2024-05-14T16:23:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Add default error identifiers, used if not specified (#258)\n\nhttps://phpstan.org/blog/phpstan-1-11-errors-identifiers-phpstan-pro-reboot#error-identifiers\r\n\r\nOriginal support for optional identifiers added in #97, this adds a default one which you can still override as before. Previously, the identifier would be added, now it would override the default one.","shortMessageHtmlLink":"Add default error identifiers, used if not specified (#258)"}},{"before":"b40c4e45f19ccc2cd82a5f856e256942c3233f1b","after":"f2e46bd7fddb6382e4889c557943750ee803e863","ref":"refs/heads/spaze/error-identifiers","pushedAt":"2024-05-14T13:25:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Add default error identifiers, used if not specified\n\nhttps://phpstan.org/blog/phpstan-1-11-errors-identifiers-phpstan-pro-reboot#error-identifiers\n\nOriginal support for optional identifiers added in #97, this adds a default one which you can still override as before. Previously, the identifier would be added, now it would override the default one.","shortMessageHtmlLink":"Add default error identifiers, used if not specified"}},{"before":null,"after":"b40c4e45f19ccc2cd82a5f856e256942c3233f1b","ref":"refs/heads/spaze/error-identifiers","pushedAt":"2024-05-14T02:23:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Add default error identifiers, used if not specified\n\nhttps://phpstan.org/blog/phpstan-1-11-errors-identifiers-phpstan-pro-reboot#error-identifiers\n\nOriginal support for optional identifiers added in #97, this adds a default one which you can still override as before. Previously, the identifier would be added, now it would override the default one.","shortMessageHtmlLink":"Add default error identifiers, used if not specified"}},{"before":"5b5bef6052d1819534a76df7ac360dd6048c1ff2","after":null,"ref":"refs/heads/spaze/control-structures","pushedAt":"2024-05-04T16:59:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"6d5ce7e951c6e9b22b9b6c14301ab9cf55e7b535","after":"d58806c98ac70ba168bfc7c7f35304f78fc5d2e0","ref":"refs/heads/main","pushedAt":"2024-05-04T16:59:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Can disallow control structures like else, elseif, goto (#257)\n\nChecking params inside ( ... ) doesn't work at the moment, so you can disallow all `declare()`s but can't re-allow e.g. `declare(strict-types = 1)`.\r\n\r\nIf you try to disallow `else if` with the space, an exception will be thrown, because `else if` is parsed as `else` followed by `if`, so disallowing `else if` with the space wouldn't have the desired effect and the result would be unexpected.\r\n\r\nClose #68","shortMessageHtmlLink":"Can disallow control structures like else, elseif, goto (#257)"}},{"before":"10805c436d15b441e83a386a565480cccd326530","after":"5b5bef6052d1819534a76df7ac360dd6048c1ff2","ref":"refs/heads/spaze/control-structures","pushedAt":"2024-05-04T16:56:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Can disallow control structures like else, elseif, goto\n\nChecking params inside ( ... ) doesn't work at the moment, so you can disallow all `declare()`s but can't re-allow e.g. `declare(strict-types = 1)`.\n\nClose #68","shortMessageHtmlLink":"Can disallow control structures like else, elseif, goto"}},{"before":null,"after":"10805c436d15b441e83a386a565480cccd326530","ref":"refs/heads/spaze/control-structures","pushedAt":"2024-05-04T16:50:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Can disallow control structures like else, elseif, goto\n\nChecking params inside ( ... ) doesn't work at the moment, so you can disallow all `declare()`s but can't re-allow e.g. `declare(strict-types = 1)`.\n\nClose #68","shortMessageHtmlLink":"Can disallow control structures like else, elseif, goto"}},{"before":"6a12085d5940b1da3b9a71a4e38d5c4f12b5bcfd","after":null,"ref":"refs/heads/spaze/older-dependencies","pushedAt":"2024-05-03T02:36:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"9c837b05596c8c8ee206c3e1f8ed941ff45c3431","after":"6a12085d5940b1da3b9a71a4e38d5c4f12b5bcfd","ref":"refs/heads/spaze/older-dependencies","pushedAt":"2024-05-03T02:34:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Support PHPStan 1.9","shortMessageHtmlLink":"Support PHPStan 1.9"}},{"before":"ec87b9e6aad82ed9e00c9a565ae4d2362c0b295e","after":"9c837b05596c8c8ee206c3e1f8ed941ff45c3431","ref":"refs/heads/spaze/older-dependencies","pushedAt":"2024-05-03T02:10:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Use newer PHPUnit 8.5\n\nThis post suggests that running PHPUnit 8.5.23+ will fix the \"PHP Fatal error: Cannot acquire reference to $GLOBALS\" issue\nhttps://stackoverflow.com/a/70974793/10537872","shortMessageHtmlLink":"Use newer PHPUnit 8.5"}},{"before":null,"after":"ec87b9e6aad82ed9e00c9a565ae4d2362c0b295e","ref":"refs/heads/spaze/older-dependencies","pushedAt":"2024-05-03T01:56:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Run PHPUnit tests also with the lowest dependencies\n\nNo sense in running linters and PHPStan with the lowest dependencies.","shortMessageHtmlLink":"Run PHPUnit tests also with the lowest dependencies"}},{"before":"a28a1e6e6b14c5965f6730305befd847456f3f40","after":null,"ref":"refs/heads/spaze/phpinfo","pushedAt":"2024-04-21T02:16:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"bcd693fb1a576845f7db29708ba3f0c5fafe3e51","after":"6d5ce7e951c6e9b22b9b6c14301ab9cf55e7b535","ref":"refs/heads/main","pushedAt":"2024-04-21T02:16:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Add `phpinfo()` to dangerous calls config (#255)\n\nSee\r\n- https://www.michalspacek.com/stealing-session-ids-with-phpinfo-and-how-to-stop-it\r\n- or https://www.michalspacek.cz/kradeni-session-id-pomoci-phpinfo-a-jak-tomu-zabranit (in Czech)\r\n\r\nfor reasons why (`phpinfo()` echoes cookie values like the session id, which may then be stolen with XSS for example, bypassing `HttpOnly` cookie flag), and use https://github.com/spaze/phpinfo instead of just calling `phpinfo()`.","shortMessageHtmlLink":"Add phpinfo() to dangerous calls config (#255)"}},{"before":null,"after":"a28a1e6e6b14c5965f6730305befd847456f3f40","ref":"refs/heads/spaze/phpinfo","pushedAt":"2024-04-21T02:10:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Add phpinfo() to dangerous calls config\n\nSee https://www.michalspacek.com/stealing-session-ids-with-phpinfo-and-how-to-stop-it (or https://www.michalspacek.cz/kradeni-session-id-pomoci-phpinfo-a-jak-tomu-zabranit in Czech) for reasons why, and use https://github.com/spaze/phpinfo instead of just calling phpinfo().","shortMessageHtmlLink":"Add phpinfo() to dangerous calls config"}},{"before":"d363d0000945a0a13b32c6d591116eb78092c84c","after":"bcd693fb1a576845f7db29708ba3f0c5fafe3e51","ref":"refs/heads/main","pushedAt":"2024-03-19T02:51:56.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Update dev dependencies (#254)\n\nSupport nikic/php-parser 5 and PHPUnit 11.","shortMessageHtmlLink":"Update dev dependencies (#254)"}},{"before":"e3f6e6740cdf2a2030aa63e2ccbc118a1b6ff3fc","after":null,"ref":"refs/heads/spaze/update-dev-deps","pushedAt":"2024-03-19T02:51:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":null,"after":"e3f6e6740cdf2a2030aa63e2ccbc118a1b6ff3fc","ref":"refs/heads/spaze/update-dev-deps","pushedAt":"2024-03-19T02:33:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Move the flag config type check to paramFactory()\n\nThere's already a similar check there and PHPUnit 11 throws the following error when the check is done when the code is analyzed. That's because PHPStan sets its own error handler in \\PHPStan\\Analyser\\FileAnalyser::analyseFile() ($this->collectErrors($analysedFiles)) but when there's an error like this, it doesn't reset it.\n\nThe PHPUnit error:\n1) Spaze\\PHPStan\\Rules\\Disallowed\\Calls\\FunctionCallsTypeStringParamsInvalidFlagsConfigTest::testException\nTest code or tested code did not remove its own error handlers","shortMessageHtmlLink":"Move the flag config type check to paramFactory()"}},{"before":"d0f8166db43f034c14c9668ec9948781aa1e0918","after":null,"ref":"refs/heads/spaze/array-already-list","pushedAt":"2024-02-20T21:17:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"d0b3d66d53fe581889c6f5927cacc5aed8249c34","after":"d363d0000945a0a13b32c6d591116eb78092c84c","ref":"refs/heads/main","pushedAt":"2024-02-20T21:17:07.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"It's already a list, no need to call `array_values()` (#253)\n\nThis is a new bleeding edge rule added in PHPStan 1.10.59 which resulted in \"Parameter #1 $array (non-empty-list) of array_values is already a list, call has no effect.\"","shortMessageHtmlLink":"It's already a list, no need to call array_values() (#253)"}},{"before":null,"after":"d0f8166db43f034c14c9668ec9948781aa1e0918","ref":"refs/heads/spaze/array-already-list","pushedAt":"2024-02-20T21:14:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"It's already a list, no need to call array_values()\n\nThis is a new bleeding edge rule added in PHPStan 1.10.59 which resulted in \"Parameter #1 $array (non-empty-list) of array_values is already a list, call has no effect.\"","shortMessageHtmlLink":"It's already a list, no need to call array_values()"}},{"before":"179e952168e1f473580d4e246c8fffdc088e0e50","after":null,"ref":"refs/heads/spaze/scheduled-tests","pushedAt":"2024-02-13T18:26:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"6d49c14be31ac77c7aaaa3d1d5e5aa0a958c6162","after":"d0b3d66d53fe581889c6f5927cacc5aed8249c34","ref":"refs/heads/main","pushedAt":"2024-02-13T18:26:25.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Run tests every day to assure compatibility (#251)\n\nBecause I run `composer update` in PHP workflow, it should help detect things like #249 earlier.","shortMessageHtmlLink":"Run tests every day to assure compatibility (#251)"}},{"before":"22407ed534b102a282f207be3807048bf8e2944f","after":"179e952168e1f473580d4e246c8fffdc088e0e50","ref":"refs/heads/spaze/scheduled-tests","pushedAt":"2024-02-13T18:22:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Run tests every day to assure compatibility\n\nBecause I run `composer update` in PHP workflow, it should help detect things like #249 earlier.","shortMessageHtmlLink":"Run tests every day to assure compatibility"}},{"before":"00a592942127144b2866bc2897662be5f7485dff","after":null,"ref":"refs/heads/spaze/hardcode-ent_quotes","pushedAt":"2024-02-13T18:20:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}},{"before":"fe566326b015674429e1a67a5343183942f493b9","after":"6d49c14be31ac77c7aaaa3d1d5e5aa0a958c6162","ref":"refs/heads/main","pushedAt":"2024-02-13T18:20:26.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Hardcode `ENT_QUOTES` as int `3` in `disallowed-loose-calls.neon` config (#250)\n\nPHPStan 1.10.58 updated nette/di from v3.1.5 to v3.1.10 and possibly that's the reason why `::constant` is not accepted anymore.\r\nhttps://github.com/phpstan/phpstan-src/pull/2907\r\n\r\nThe config file is tested so even if the value of the constant would change, however unlikely, it would be detected by failing tests.\r\n\r\nClose #249\r\n\r\nIntroduced in #222 as a fix for https://github.com/phpstan/phpstan/issues/10223","shortMessageHtmlLink":"Hardcode ENT_QUOTES as int 3 in disallowed-loose-calls.neon con…"}},{"before":"64137f2156e25297a22544b1620f8247b0f0eead","after":"00a592942127144b2866bc2897662be5f7485dff","ref":"refs/heads/spaze/hardcode-ent_quotes","pushedAt":"2024-02-13T18:16:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Hardcode ENT_QUOTES as int 3 in disallowed-loose-calls.neon config\n\nPHPStan 1.10.58 updated nette/di from v3.1.5 to v3.1.10 and possibly that's the reason why `::constant` is not accepted anymore.\nhttps://github.com/phpstan/phpstan-src/pull/2907\n\nThe config file is tested so even if the value of the constant would change, however unlikely, it would be detected by failing tests.\n\nClose #249\n\nIntroduced in #222 as a fix for https://github.com/phpstan/phpstan/issues/10223","shortMessageHtmlLink":"Hardcode ENT_QUOTES as int 3 in disallowed-loose-calls.neon config"}},{"before":null,"after":"64137f2156e25297a22544b1620f8247b0f0eead","ref":"refs/heads/spaze/hardcode-ent_quotes","pushedAt":"2024-02-13T18:07:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Hardcode ENT_QUOTES as int 3 in disallowed-loose-calls.neon config\n\nPHPStan 1.10.58 updated nette/di from v3.1.5 to v3.1.10 and possibly that's the reason why ::constant is not accepted anymore.\nhttps://github.com/phpstan/phpstan-src/pull/2907\n\nThe config file is tested so even if the value of the constant would change, however unlikely, it would be detected by failing tests.\n\nClose #249","shortMessageHtmlLink":"Hardcode ENT_QUOTES as int 3 in disallowed-loose-calls.neon config"}},{"before":null,"after":"22407ed534b102a282f207be3807048bf8e2944f","ref":"refs/heads/spaze/scheduled-tests","pushedAt":"2024-02-13T17:44:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"},"commit":{"message":"Run tests every day to assure compatibility\n\nBecause I run `composer update` in PHP workflow, it should help detect things like #249 earlier.","shortMessageHtmlLink":"Run tests every day to assure compatibility"}},{"before":"ce98abe894de7062dac1dc5b0b950f5337dfa3f4","after":null,"ref":"refs/tags/v3.1.0","pushedAt":"2024-01-22T22:15:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"spaze","name":"Michal Špaček","path":"/spaze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1966648?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESa_2kgA","startCursor":null,"endCursor":null}},"title":"Activity · spaze/phpstan-disallowed-calls"}