Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions phpstan-baseline.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2491,11 +2491,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouter\\:\\:\\$cliRoutes type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/AutoRouter.php',
];
$ignoreErrors[] = [
'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#',
'count' => 1,
Expand All@@ -2516,81 +2511,16 @@
'count' => 6,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getControllerName\\(\\) has parameter \\$handler with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand All@@ -2611,21 +2541,6 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$override404 type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollection.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:get404Override\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#',
'count' => 1,
Expand DownExpand Up@@ -2681,41 +2596,16 @@
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$controller type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/Router.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:controllerName\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:handle\\(\\) return type has no signature specified for Closure\\.$#',
'count' => 1,
'path' => __DIR__ . '/system/Router/RouterInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#',
'count' => 1,
Expand Down
8 changes: 4 additions & 4 deletions system/Database/BaseBuilder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1968,7 +1968,7 @@ public function upsertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific upsertBatch string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2195,7 +2195,7 @@ public function insertBatch($set = null, ?bool $escape = null, int $batchSize =
/**
* Generates a platform-specific insert string from the supplied data.
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2563,7 +2563,7 @@ public function updateBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand DownExpand Up@@ -2825,7 +2825,7 @@ public function deleteBatch($set = null, $constraints = null, int $batchSize = 1
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Builder.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -315,7 +315,7 @@ public function join(string $table, $cond, string $type = '', ?bool $escape = nu
/**
* Generates a platform-specific batch update string from the supplied data
*
* @used-by batchExecute
* @used-by batchExecute()
*
* @param string $table Protected table name
* @param list<string> $keys QBKeys
Expand Down
4 changes: 3 additions & 1 deletion system/Email/Email.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1665,7 +1665,9 @@ protected function unwrapSpecials()
/**
* Strip line-breaks via callback
*
* @param string $matches
* @used-by unwrapSpecials()
*
* @param list<string> $matches
*
* @return string
*/
Expand Down
3 changes: 2 additions & 1 deletion system/Router/AutoRouter.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Router for Auto-Routing
Expand All@@ -22,7 +23,7 @@ final class AutoRouter implements AutoRouterInterface
/**
* List of CLI routes that do not contain '*' routes.
*
* @var array<string, Closure|string> [routeKey => handler]
* @var array<string, (Closure(mixed...): (ResponseInterface|string|void))|string> [routeKey => handler]
*/
private array $cliRoutes;

Expand Down
29 changes: 15 additions & 14 deletions system/Router/RouteCollection.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@

use Closure;
use CodeIgniter\Autoloader\FileLocator;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Router\Exceptions\RouterException;
use Config\App;
use Config\Modules;
Expand DownExpand Up@@ -87,7 +88,7 @@ class RouteCollection implements RouteCollectionInterface
* A callable that will be shown
* when the route cannot be matched.
*
* @var Closure|string
* @var (Closure(string): (ResponseInterface|string|void))|string
*/
protected $override404;

Expand DownExpand Up@@ -497,7 +498,7 @@ public function set404Override($callable = null): RouteCollectionInterface
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override()
{
Expand DownExpand Up@@ -658,7 +659,7 @@ public function map(array $routes = [], ?array $options = null): RouteCollection
* Example:
* $routes->add('news', 'Posts::index');
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function add(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -992,7 +993,7 @@ public function presenter(string $name, ?array $options = null): RouteCollection
* Example:
* $route->match( ['get', 'post'], 'users/(:num)', 'users/$1);
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function match(array $verbs = [], string $from = '', $to = '', ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1012,7 +1013,7 @@ public function match(array $verbs = [], string $from = '', $to = '', ?array $op
/**
* Specifies a route that is only available to GET requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function get(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1024,7 +1025,7 @@ public function get(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to POST requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function post(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1036,7 +1037,7 @@ public function post(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PUT requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function put(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1048,7 +1049,7 @@ public function put(string $from, $to, ?array $options = null): RouteCollectionI
/**
* Specifies a route that is only available to DELETE requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function delete(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1060,7 +1061,7 @@ public function delete(string $from, $to, ?array $options = null): RouteCollecti
/**
* Specifies a route that is only available to HEAD requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function head(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1072,7 +1073,7 @@ public function head(string $from, $to, ?array $options = null): RouteCollection
/**
* Specifies a route that is only available to PATCH requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function patch(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1084,7 +1085,7 @@ public function patch(string $from, $to, ?array $options = null): RouteCollectio
/**
* Specifies a route that is only available to OPTIONS requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function options(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand All@@ -1096,7 +1097,7 @@ public function options(string $from, $to, ?array $options = null): RouteCollect
/**
* Specifies a route that is only available to command-line requests.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*/
public function cli(string $from, $to, ?array $options = null): RouteCollectionInterface
{
Expand DownExpand Up@@ -1416,7 +1417,7 @@ private function replaceLocale(string $route, ?string $locale = null): string
* the request method(s) that this route will work for. They can be separated
* by a pipe character "|" if there is more than one.
*
* @param array|Closure|string $to
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to
*
* @return void
*/
Expand DownExpand Up@@ -1767,7 +1768,7 @@ public function getRegisteredControllers(?string $verb = '*'): array
}

/**
* @param Closure|string $handler Handler
* @param (Closure(mixed...): (ResponseInterface|string|void))|string $handler Handler
*
* @return string|null Controller classname
*/
Expand Down
9 changes: 5 additions & 4 deletions system/Router/RouteCollectionInterface.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,6 +12,7 @@
namespace CodeIgniter\Router;

use Closure;
use CodeIgniter\HTTP\ResponseInterface;

/**
* Interface RouteCollectionInterface
Expand All@@ -28,9 +29,9 @@ interface RouteCollectionInterface
/**
* Adds a single route to the collection.
*
* @param string $from The route path (with placeholders or regex)
* @param array|Closure|string $to The route handler
* @param array|null $options The route options
* @param string $from The route path (with placeholders or regex)
* @param array|(Closure(mixed...): (ResponseInterface|string|void))|string $to The route handler
* @param array|null $options The route options
*
* @return RouteCollectionInterface
*/
Expand DownExpand Up@@ -111,7 +112,7 @@ public function set404Override($callable = null): self;
* Returns the 404 Override setting, which can be null, a closure
* or the controller/string.
*
* @return Closure|string|null
* @return (Closure(string): (ResponseInterface|string|void))|string|null
*/
public function get404Override();

Expand Down
Loading