mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-09-29 20:02:04 +02:00
Continue breaking down StreamProcess::startStream:
- extract resolveProbeSettings() (ffprobe/analysis timing) and
rotateSourcesPastCurrent() (source-failover ordering) as private static
helpers, with unit tests locking in their behaviour;
- simplify 15 inverted empty-if/else blocks across the class into a single
positive condition (no behaviour change).
Also fix the latent undefined-variable bugs the refactor surfaced under PHPStan:
startStream assembles the ffmpeg command from state produced inside the source
failover loop (which closes before the command is built) and inside the
non-custom_ffmpeg branch. On an empty source list, or when a custom ffmpeg line
is used, several variables were read while possibly undefined -- masked at
runtime only by ternary guards and suppressed in the PHPStan baseline. Default
them at the two scopes that own them:
- loop-scoped, read after the loop: $rSource, $rRealSource, $rStreamSource,
$rProtocol, $rFFProbeOutput
- non-custom_ffmpeg-branch-scoped, read in the {MAP}/{GEN_PTS}/{READ_NATIVE}
substitution and delay sleep: $rMap, $rGenPTS, $rReadNative, $rSleepTime
and drop the 9 now-obsolete entries from phpstan-baseline.neon.
Behaviour is unchanged on the happy path (the loop/branch overwrite the
defaults) and the defaults match the existing runtime ternary-guard results.
Verified: phpstan level 5 green (whole project, entries un-suppressed),
phpunit 369/369, make gates green.
1172 lines
44 KiB
Plaintext
1172 lines
44 KiB
Plaintext
parameters:
|
|
ignoreErrors:
|
|
-
|
|
message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/BinariesCommand.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always false\.$#'
|
|
identifier: booleanNot.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/CacheHandlerCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/DelayCommand.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, int given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Cli/Commands/LbInstallFlow.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/LlodCommand.php
|
|
|
|
-
|
|
message: '#^Variable \$http_response_header in isset\(\) always exists and is not nullable\.$#'
|
|
identifier: isset.variable
|
|
count: 1
|
|
path: src/Cli/Commands/LlodCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/LoopbackCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^If condition is always false\.$#'
|
|
identifier: if.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^If condition is always true\.$#'
|
|
identifier: if.alwaysTrue
|
|
count: 6
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Left side of && is always false\.$#'
|
|
identifier: booleanAnd.leftAlwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Left side of \|\| is always false\.$#'
|
|
identifier: booleanOr.leftAlwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Loose comparison using \=\= between 0 and 20 will always evaluate to false\.$#'
|
|
identifier: equal.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always false\.$#'
|
|
identifier: booleanNot.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always true\.$#'
|
|
identifier: booleanNot.alwaysTrue
|
|
count: 2
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Result of && is always false\.$#'
|
|
identifier: booleanAnd.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Undefined variable\: \$rForceID$#'
|
|
identifier: variable.undefined
|
|
count: 2
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Undefined variable\: \$rProtocol$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Undefined variable\: \$rStreamSource$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Unreachable statement \- code above always terminates\.$#'
|
|
identifier: deadCode.unreachable
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Variable \$E9d347a502b13abd might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^Variable \$rBitrate might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 2
|
|
path: src/Cli/Commands/MonitorCommand.php
|
|
|
|
-
|
|
message: '#^If condition is always true\.$#'
|
|
identifier: if.alwaysTrue
|
|
count: 1
|
|
path: src/Cli/Commands/OndemandCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/ProxyCommand.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$offset of function substr expects int, float given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Cli/Commands/ProxyCommand.php
|
|
|
|
-
|
|
message: '#^Parameter \#3 \$length of function substr expects int\|null, float given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: src/Cli/Commands/ProxyCommand.php
|
|
|
|
-
|
|
message: '#^Variable \$rPrebuffer in empty\(\) always exists and is always falsy\.$#'
|
|
identifier: empty.variable
|
|
count: 1
|
|
path: src/Cli/Commands/ProxyCommand.php
|
|
|
|
-
|
|
message: '#^Left side of && is always true\.$#'
|
|
identifier: booleanAnd.leftAlwaysTrue
|
|
count: 1
|
|
path: src/Cli/Commands/QueueCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/RecordCommand.php
|
|
|
|
-
|
|
message: '#^Right side of && is always true\.$#'
|
|
identifier: booleanAnd.rightAlwaysTrue
|
|
count: 1
|
|
path: src/Cli/Commands/RecordCommand.php
|
|
|
|
-
|
|
message: '#^Left side of && is always true\.$#'
|
|
identifier: booleanAnd.leftAlwaysTrue
|
|
count: 1
|
|
path: src/Cli/Commands/ScannerCommand.php
|
|
|
|
-
|
|
message: '#^Left side of && is always true\.$#'
|
|
identifier: booleanAnd.leftAlwaysTrue
|
|
count: 1
|
|
path: src/Cli/Commands/SignalsCommand.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, int given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Cli/Commands/StartupCommand.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<min, \-1\>\|int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/Commands/ThumbnailCommand.php
|
|
|
|
-
|
|
message: '#^Left side of && is always true\.$#'
|
|
identifier: booleanAnd.leftAlwaysTrue
|
|
count: 1
|
|
path: src/Cli/Commands/WatchdogCommand.php
|
|
|
|
-
|
|
message: '#^If condition is always true\.$#'
|
|
identifier: if.alwaysTrue
|
|
count: 1
|
|
path: src/Cli/CronJobs/CacheEngineCronJob.php
|
|
|
|
-
|
|
message: '#^Property XcVm\\Cli\\CronJobs\\CacheEngineCronJob\:\:\$rForce is never read, only written\.$#'
|
|
identifier: property.onlyWritten
|
|
count: 1
|
|
path: src/Cli/CronJobs/CacheEngineCronJob.php
|
|
|
|
-
|
|
message: '#^Variable \$rSteps might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 2
|
|
path: src/Cli/CronJobs/CacheEngineCronJob.php
|
|
|
|
-
|
|
message: '#^If condition is always true\.$#'
|
|
identifier: if.alwaysTrue
|
|
count: 1
|
|
path: src/Cli/CronJobs/CleanupCronJob.php
|
|
|
|
-
|
|
message: '#^If condition is always false\.$#'
|
|
identifier: if.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/CronJobs/EpgCronJob.php
|
|
|
|
-
|
|
message: '#^Variable \$ApiDependencyIdentifier on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.variable
|
|
count: 1
|
|
path: src/Cli/CronJobs/EpgCronJob.php
|
|
|
|
-
|
|
message: '#^Variable \$rMD5 might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/CronJobs/MaxMindCronJob.php
|
|
|
|
-
|
|
message: '#^Offset ''source'' on array\{name\: string, description\: string, version\: string, requires_core\: string, environment\: string, priority\: int, dependencies\: array, optional_dependencies\: array, \.\.\.\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: src/Cli/CronJobs/ModuleLicensesCronJob.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, int given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Cli/CronJobs/RootSignalsCronJob.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \=\=\= between mixed and null will always evaluate to false\.$#'
|
|
identifier: identical.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/CronJobs/RootSignalsCronJob.php
|
|
|
|
-
|
|
message: '#^Variable \$i might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/CronJobs/RootSignalsCronJob.php
|
|
|
|
-
|
|
message: '#^Variable \$rLiveKeys might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/CronJobs/UsersCronJob.php
|
|
|
|
-
|
|
message: '#^Variable \$rRedisDelete might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 11
|
|
path: src/Cli/CronJobs/UsersCronJob.php
|
|
|
|
-
|
|
message: '#^If condition is always true\.$#'
|
|
identifier: if.alwaysTrue
|
|
count: 1
|
|
path: src/Cli/CronJobs/VodCronJob.php
|
|
|
|
-
|
|
message: '#^Call to function is_object\(\) with XcVm\\Core\\Database\\DatabaseHandler will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Cli/migration_logic.php
|
|
|
|
-
|
|
message: '#^Dead catch \- Exception is never thrown in the try block\.$#'
|
|
identifier: catch.neverThrown
|
|
count: 1
|
|
path: src/Cli/migration_logic.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always false\.$#'
|
|
identifier: booleanNot.alwaysFalse
|
|
count: 1
|
|
path: src/Cli/migration_logic.php
|
|
|
|
-
|
|
message: '#^Variable \$AdminAccesCode might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Cli/migration_logic.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, array\<int, int\|string\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Core/Auth/AuthRepository.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, array\<int, mixed\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Core/Auth/AuthRepository.php
|
|
|
|
-
|
|
message: '#^Left side of \|\| is always true\.$#'
|
|
identifier: booleanOr.leftAlwaysTrue
|
|
count: 1
|
|
path: src/Core/Auth/Authenticator.php
|
|
|
|
-
|
|
message: '#^Right side of \|\| is always true\.$#'
|
|
identifier: booleanOr.rightAlwaysTrue
|
|
count: 1
|
|
path: src/Core/Auth/Authenticator.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always false\.$#'
|
|
identifier: booleanNot.alwaysFalse
|
|
count: 1
|
|
path: src/Core/Database/Database.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Core\\Diagnostics\\DiagnosticsService\:\:getCertificateInfo\(\) should return array but returns null\.$#'
|
|
identifier: return.type
|
|
count: 2
|
|
path: src/Core/Diagnostics/DiagnosticsService.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\<\=" between 1 and 2 is always true\.$#'
|
|
identifier: smallerOrEqual.alwaysTrue
|
|
count: 1
|
|
path: src/Core/Http/CurlClient.php
|
|
|
|
-
|
|
message: '#^Parameter \#3 \$value of function curl_setopt expects bool, int given\.$#'
|
|
identifier: argument.type
|
|
count: 3
|
|
path: src/Core/Http/CurlClient.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always true\.$#'
|
|
identifier: booleanNot.alwaysTrue
|
|
count: 1
|
|
path: src/Core/Module/ModuleLoader.php
|
|
|
|
-
|
|
message: '#^Expression "\$this\-\>handle" on a separate line does not do anything\.$#'
|
|
identifier: expr.resultUnused
|
|
count: 1
|
|
path: src/Core/Parsing/File.php
|
|
|
|
-
|
|
message: '#^Binary operation "\+\=" between int and string results in an error\.$#'
|
|
identifier: assignOp.invalid
|
|
count: 1
|
|
path: src/Core/Parsing/StringWalker.php
|
|
|
|
-
|
|
message: '#^Offset 0 on array\{string, int\<\-1, max\>\} in isset\(\) always exists and is not nullable\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: src/Core/Parsing/StringWalker.php
|
|
|
|
-
|
|
message: '#^Offset 1 on array\{string, int\<\-1, max\>\} in isset\(\) always exists and is not nullable\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: src/Core/Parsing/StringWalker.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property XcVm\\Core\\Parsing\\UniqueNode\:\:\$options\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: src/Core/Parsing/UniqueNode.php
|
|
|
|
-
|
|
message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#'
|
|
identifier: argument.invalidPregQuote
|
|
count: 1
|
|
path: src/Core/Parsing/UniqueNode.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$enable of function stream_set_blocking expects bool, int given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: src/Core/Process/Thread.php
|
|
|
|
-
|
|
message: '#^Constructor of class XcVm\\Core\\Storage\\DropboxClient has an unused parameter \$_deprecatedLocale\.$#'
|
|
identifier: constructor.unusedParameter
|
|
count: 1
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Core\\Storage\\DropboxClient\:\:GetCopyRef\(\) never assigns null to &\$expires so it can be removed from the by\-ref type\.$#'
|
|
identifier: parameterByRef.unusedType
|
|
count: 1
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Core\\Storage\\DropboxClient\:\:Search\(\) should return object but returns list\<object\>\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Core\\Storage\\DropboxClient\:\:createCurl\(\) never returns resource so it can be removed from the return type\.$#'
|
|
identifier: return.unusedType
|
|
count: 1
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Core\\Storage\\DropboxClient\:\:doSingleCall\(\) never assigns null to &\$content so it can be removed from the by\-ref type\.$#'
|
|
identifier: parameterByRef.unusedType
|
|
count: 1
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Core\\Storage\\DropboxClient\:\:doSingleCall\(\) should return object but returns null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$handle of function curl_setopt expects CurlHandle, resource given\.$#'
|
|
identifier: argument.type
|
|
count: 3
|
|
path: src/Core/Storage/DropboxClient.php
|
|
|
|
-
|
|
message: '#^Call to function is_string\(\) with string will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Core/Updates/GitHubReleases.php
|
|
|
|
-
|
|
message: '#^Call to function is_string\(\) with non\-falsy\-string will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Core/Util/AdminHelpers.php
|
|
|
|
-
|
|
message: '#^Variable \$rBitrate might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Core/Util/StreamUtils.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with list\<mixed\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: src/Core/Util/SystemInfo.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\<\=" between int\<1, max\> and 0 is always false\.$#'
|
|
identifier: smallerOrEqual.alwaysFalse
|
|
count: 1
|
|
path: src/Core/Util/SystemInfo.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{bouquet\: mixed\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Bouquet/BouquetService.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{bouquets\: mixed\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Bouquet/BouquetService.php
|
|
|
|
-
|
|
message: '#^Offset ''user_id'' does not exist on array\{user\: array\|null\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Device/EnigmaService.php
|
|
|
|
-
|
|
message: '#^Offset ''user_id'' does not exist on array\{user\: array\|null\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Device/MagService.php
|
|
|
|
-
|
|
message: '#^Variable \$rEvent might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 4
|
|
path: src/Domain/Device/MagService.php
|
|
|
|
-
|
|
message: '#^Variable \$rLangDesc on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.variable
|
|
count: 1
|
|
path: src/Domain/Epg/EPG.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Security\\BlocklistService\:\:checkISP\(\) should return bool but returns int\.$#'
|
|
identifier: return.type
|
|
count: 2
|
|
path: src/Domain/Security/BlocklistService.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Security\\BlocklistService\:\:isProxy\(\) should return bool but returns null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/Security/BlocklistService.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Server\\ServerRepository\:\:getById\(\) should return array\|null but returns false\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''domain_name'' on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''geoip_countries'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''geoip_countries'' on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\} in empty\(\) does not exist\.$#'
|
|
identifier: empty.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''http_broadcast_port'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''http_broadcast_port'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…''\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''http_broadcast_port'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''https_broadcast_port'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{server_online\: bool, order\: 0\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{server_online\: bool\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''isp_names'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''isp_names'' on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\} in empty\(\) does not exist\.$#'
|
|
identifier: empty.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''order'' on array\{server_online\: bool\} in isset\(\) does not exist\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''order'' on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\} in isset\(\) does not exist\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''parent_id'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''parent_id'' on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''private_ip'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''private_ip'' on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\} in empty\(\) does not exist\.$#'
|
|
identifier: empty.offset
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''rtmp_port'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''server_ip'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''server_ip'' does not exist on array\{server_protocol\: ''http''\|''https'', request_port\: int, site_url\: non\-falsy\-string, http_url\: non\-falsy\-string, https_url\: non\-falsy\-string, rtmp_server\: non\-falsy\-string, domains\: array\{protocol\: ''http''\|''https'', port\: int, urls\: array\<int\<0, max\>, non\-falsy\-string\>\}, rtmp_mport_url\: ''http\://127\.0\.0\.1…''\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Server/ServerRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{category_id\: mixed\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Stream/CategoryService.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Stream\\ConnectionTracker\:\:getCapacity\(\) should return array\<int, array\{online_clients\: int, capacity\?\: float\}\> but returns array\<array\{capacity\: mixed\}\>\|object\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/Stream/ConnectionTracker.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\>" between int\<1, max\> and 0 is always true\.$#'
|
|
identifier: greater.alwaysTrue
|
|
count: 1
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#'
|
|
identifier: equal.alwaysTrue
|
|
count: 6
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#'
|
|
identifier: equal.alwaysFalse
|
|
count: 1
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Loose comparison using \=\= between null and ''series'' will always evaluate to false\.$#'
|
|
identifier: equal.alwaysFalse
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Stream\\PlaylistGenerator\:\:generate\(\) should return string but returns false\.$#'
|
|
identifier: return.type
|
|
count: 3
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always true\.$#'
|
|
identifier: booleanNot.alwaysTrue
|
|
count: 3
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''category_id'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''channel_id'' does not exist on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: string, year\: null, live\: 0, category_id\: null, id\: null, target_container\: ''mp4'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''custom_sid'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0, category_id\: null, id\: null, target_container\: null, \.\.\.\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''custom_sid'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: mixed, year\: null, live\: 0, category_id\: null, id\: null, target_container\: ''mp4'', \.\.\.\} in empty\(\) always exists and is always falsy\.$#'
|
|
identifier: empty.offset
|
|
count: 1
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0, category_id\: null\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''live'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''stream_display_name'' on array\{movie_properties\: mixed, type_key\: null\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''stream_icon'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0, category_id\: null, id\: null, target_container\: null\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''target_container'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0, category_id\: null, id\: null\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''tv_archive_server_id'' does not exist on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0, category_id\: null, id\: null, target_container\: ''mp4'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''type_key'' on array\{movie_properties\: mixed\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''type_output'' does not exist on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: '''', year\: null, live\: 0, category_id\: null, id\: null, target_container\: null, \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''type_output'' does not exist on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: string, year\: null, live\: 0, category_id\: null, id\: null, target_container\: ''mp4'', \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 6
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Offset ''year'' on array\{movie_properties\: mixed, type_key\: null, stream_display_name\: ''''\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<\(int\|string\)\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$rYear of static method XcVm\\Domain\\Stream\\StreamSorter\:\:formatTitle\(\) expects int\|string, null given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, array\<int, mixed\> given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Variable \$rIcon might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 2
|
|
path: src/Domain/Stream/PlaylistGenerator.php
|
|
|
|
-
|
|
message: '#^Call to function is_numeric\(\) with int\<1, max\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 2
|
|
path: src/Domain/Stream/StreamProcess.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always true\.$#'
|
|
identifier: booleanNot.alwaysTrue
|
|
count: 2
|
|
path: src/Domain/Stream/StreamProcess.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Stream\\StreamService\:\:parseM3U\(\) should return array but returns M3uParser\\M3uData\.$#'
|
|
identifier: return.type
|
|
count: 2
|
|
path: src/Domain/Stream/StreamService.php
|
|
|
|
-
|
|
message: '#^Offset int\<1, max\> on array\{\} in isset\(\) does not exist\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: src/Domain/Stream/StreamService.php
|
|
|
|
-
|
|
message: '#^Right side of && is always false\.$#'
|
|
identifier: booleanAnd.rightAlwaysFalse
|
|
count: 1
|
|
path: src/Domain/Stream/StreamService.php
|
|
|
|
-
|
|
message: '#^Variable \$rInsertID might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Domain/Stream/StreamService.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{groups\: mixed\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/GroupService.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\<" between 0 and int\<2, max\> is always true\.$#'
|
|
identifier: smaller.alwaysTrue
|
|
count: 1
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\ResellerAPI\:\:processEnigma\(\) should return array but returns false\.$#'
|
|
identifier: return.type
|
|
count: 2
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\ResellerAPI\:\:processLine\(\) should return array but returns false\.$#'
|
|
identifier: return.type
|
|
count: 2
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\ResellerAPI\:\:processMAG\(\) should return array but returns false\.$#'
|
|
identifier: return.type
|
|
count: 2
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\ResellerAPI\:\:processUser\(\) should return array but returns false\.$#'
|
|
identifier: return.type
|
|
count: 3
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\ResellerAPI\:\:submitTicket\(\) should return array but returns false\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Variable \$rCost might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 6
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Variable \$rOrigCredentials might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 2
|
|
path: src/Domain/User/ResellerAPI.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\TicketRepository\:\:getById\(\) should return array\|false but returns null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/User/TicketRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{created\: ''''\}\|array\{created\: non\-falsy\-string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/TicketRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''member_id'' does not exist on array\{created\: string, last_reply\: non\-falsy\-string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/TicketRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''member_id'' does not exist on array\{replies\: list\<array\{message\: non\-falsy\-string\}\>, title\: string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/TicketRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''status'' does not exist on array\{created\: string, last_reply\: non\-falsy\-string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/TicketRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''title'' does not exist on array\{replies\: array\{\}\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/TicketRepository.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\UserRepository\:\:getE2Info\(\) should return array\|null but returns false\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\UserRepository\:\:getStreamingUserInfo\(\) should return array\|null but returns false\.$#'
|
|
identifier: return.type
|
|
count: 6
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\User\\UserRepository\:\:getUserInfo\(\) should return array\|null but returns false\.$#'
|
|
identifier: return.type
|
|
count: 6
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''allowed_outputs'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: mixed, isp_violate\: 0, isp_is_server\: 0\|1, \.\.\.\}\|array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: null, isp_violate\: 0, isp_is_server\: 0\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: mixed, isp_violate\: false, isp_is_server\: 0\|1, \.\.\.\}\|array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: null, isp_violate\: 0, isp_is_server\: 0\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''id'' does not exist on array\{forced_country\: mixed\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 5
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''is_stalker'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: mixed, isp_violate\: bool, isp_is_server\: 0\|1, \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''is_stalker'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: mixed, isp_violate\: int, isp_is_server\: 0\|1, \.\.\.\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''isp_desc'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: mixed, isp_violate\: 0, isp_is_server\: 0\|1, \.\.\.\}\|array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: null, isp_violate\: 0, isp_is_server\: 0\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''isp_desc'' does not exist on array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: mixed, isp_violate\: false, isp_is_server\: 0\|1, \.\.\.\}\|array\{bouquet\: mixed, allowed_ips\: array\<non\-falsy\-string\>, allowed_ua\: array\<non\-falsy\-string\>, allowed_outputs\: array\<int\>, output_formats\: list, con_isp_name\: null, isp_violate\: 0, isp_is_server\: 0\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Offset ''isp_desc'' on array\{bouquet\: mixed, allowed_ips\: array, allowed_ua\: array, allowed_outputs\: array, output_formats\: list, con_isp_name\: mixed, isp_violate\: mixed, isp_is_server\: int, \.\.\.\}\|array\{bouquet\: mixed, allowed_ips\: array, allowed_ua\: array, allowed_outputs\: array, output_formats\: list, con_isp_name\: null, isp_violate\: 0, isp_is_server\: 0\} in empty\(\) does not exist\.$#'
|
|
identifier: empty.offset
|
|
count: 2
|
|
path: src/Domain/User/UserRepository.php
|
|
|
|
-
|
|
message: '#^Variable \$rReason might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Domain/User/UserService.php
|
|
|
|
-
|
|
message: '#^Variable \$rInsertID might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Domain/Vod/EpisodeService.php
|
|
|
|
-
|
|
message: '#^Variable \$rFilePath in empty\(\) always exists and is not falsy\.$#'
|
|
identifier: empty.variable
|
|
count: 1
|
|
path: src/Domain/Vod/MovieService.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Vod\\SeriesService\:\:getById\(\) should return array\|false but returns null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/Vod/SeriesService.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Vod\\SeriesService\:\:getByTMDBId\(\) should return array\|false but returns null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/Vod/SeriesService.php
|
|
|
|
-
|
|
message: '#^Variable \$rFilePath in empty\(\) always exists and is not falsy\.$#'
|
|
identifier: empty.variable
|
|
count: 1
|
|
path: src/Domain/Vod/SeriesService.php
|
|
|
|
-
|
|
message: '#^Method XcVm\\Domain\\Vod\\TMDbService\:\:getMovie\(\) should return array\|null but returns Movie\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Domain/Vod/TMDbService.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\<" between 0 and int\<1, max\> is always true\.$#'
|
|
identifier: smaller.alwaysTrue
|
|
count: 3
|
|
path: src/Infrastructure/Bootstrap/player_utility_functions.php
|
|
|
|
-
|
|
message: '#^Function getUserSeries\(\) should return array but returns null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: src/Infrastructure/Bootstrap/player_utility_functions.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always false\.$#'
|
|
identifier: booleanNot.alwaysFalse
|
|
count: 1
|
|
path: src/Infrastructure/Bootstrap/reseller_functions.php
|
|
|
|
-
|
|
message: '#^Variable \$language might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Infrastructure/Bootstrap/reseller_functions.php
|
|
|
|
-
|
|
message: '#^Variable \$rMobile might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Infrastructure/Bootstrap/reseller_functions.php
|
|
|
|
-
|
|
message: '#^Variable \$rSettings might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 3
|
|
path: src/Infrastructure/Bootstrap/reseller_functions.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\<" between 0 and int\<1, max\> is always true\.$#'
|
|
identifier: smaller.alwaysTrue
|
|
count: 1
|
|
path: src/Infrastructure/ResellerApiDispatcher.php
|
|
|
|
-
|
|
message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#'
|
|
identifier: equal.alwaysTrue
|
|
count: 2
|
|
path: src/Infrastructure/ResellerApiDispatcher.php
|
|
|
|
-
|
|
message: '#^Ternary operator condition is always true\.$#'
|
|
identifier: ternary.alwaysTrue
|
|
count: 1
|
|
path: src/Infrastructure/ResellerApiDispatcher.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\>\=" between 43200 and int\<3600, 14400\> is always true\.$#'
|
|
identifier: greaterOrEqual.alwaysTrue
|
|
count: 1
|
|
path: src/Infrastructure/ResellerTableRenderer.php
|
|
|
|
-
|
|
message: '#^Negated boolean expression is always false\.$#'
|
|
identifier: booleanNot.alwaysFalse
|
|
count: 2
|
|
path: src/Infrastructure/ResellerTableRenderer.php
|
|
|
|
-
|
|
message: '#^Variable \$rFilterBefore might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Infrastructure/ResellerTableRenderer.php
|
|
|
|
-
|
|
message: '#^Variable \$rText might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Infrastructure/ResellerTableRenderer.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$prefix of function uniqid expects string, int\<0, max\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: src/Modules/ministra_85a7d/PortalHandler.php
|
|
|
|
-
|
|
message: '#^Variable \$rEPG might not be defined\.$#'
|
|
identifier: variable.undefined
|
|
count: 1
|
|
path: src/Modules/ministra_85a7d/PortalHandler.php
|
|
|
|
-
|
|
message: '#^Parameter \#4 \$month of function mktime expects int\|null, string given\.$#'
|
|
identifier: argument.type
|
|
count: 5
|
|
path: src/Modules/ministra_85a7d/PortalHelpers.php
|
|
|
|
-
|
|
message: '#^Parameter \#5 \$day of function mktime expects int\|null, string given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: src/Modules/ministra_85a7d/PortalHelpers.php
|
|
|
|
-
|
|
message: '#^Parameter \#6 \$year of function mktime expects int\|null, string given\.$#'
|
|
identifier: argument.type
|
|
count: 5
|
|
path: src/Modules/ministra_85a7d/PortalHelpers.php
|