diff options
| author | 2024-12-27 12:12:49 +0100 | |
|---|---|---|
| committer | 2024-12-27 12:12:49 +0100 | |
| commit | b1d24fbdb7d1cc948c946295035dad6df550fb7e (patch) | |
| tree | 7b4365a04097a779659474fbb9281a9661512522 /app/Models/Share.php | |
| parent | 897e4a3f4a273d50c28157edb67612b2d7fa2e6f (diff) | |
PHPStan 2.0 (#7131)
* PHPStan 2.0
fix https://github.com/FreshRSS/FreshRSS/issues/6989
https://github.com/phpstan/phpstan/releases/tag/2.0.0
https://github.com/phpstan/phpstan/blob/2.0.x/UPGRADING.md
* More
* More
* Done
* fix i18n CLI
* Restore a PHPStan Next test
For work towards PHPStan Level 10
* 4 more on Level 10
* fix getTagsForEntry
* API at Level 10
* More Level 10
* Finish Minz at Level 10
* Finish CLI at Level 10
* Finish Controllers at Level 10
* More Level 10
* More
* Pass bleedingEdge
* Clean PHPStan options and add TODOs
* Level 10 for main config
* More
* Consitency array vs. list
* Sanitize themes get_infos
* Simplify TagDAO->getTagsForEntries()
* Finish reportAnyTypeWideningInVarTag
* Prepare checkBenevolentUnionTypes and checkImplicitMixed
* Fixes
* Refix
* Another fix
* Casing of __METHOD__ constant
Diffstat (limited to 'app/Models/Share.php')
| -rw-r--r-- | app/Models/Share.php | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/app/Models/Share.php b/app/Models/Share.php index 847127466..140ca0eca 100644 --- a/app/Models/Share.php +++ b/app/Models/Share.php @@ -13,8 +13,8 @@ class FreshRSS_Share { /** * Register a new sharing option. - * @param array{'type':string,'url':string,'transform'?:array<callable>|array<string,array<callable>>,'field'?:string,'help'?:string,'form'?:'simple'|'advanced', - * 'method'?:'GET'|'POST','HTMLtag'?:'button','deprecated'?:bool} $share_options is an array defining the share option. + * @param array{type:string,url:string,transform?:array<callable>|array<string,array<callable>>,field?:string,help?:string,form?:'simple'|'advanced', + * method?:'GET'|'POST',HTMLtag?:'button',deprecated?:bool} $share_options is an array defining the share option. */ public static function register(array $share_options): void { $type = $share_options['type']; @@ -46,7 +46,12 @@ class FreshRSS_Share { } foreach ($shares_from_file as $share_type => $share_options) { + if (!is_array($share_options)) { + continue; + } $share_options['type'] = $share_type; + /** @var array{type:string,url:string,transform?:array<callable>|array<string,array<callable>>,field?:string,help?:string,form?:'simple'|'advanced', + * method?:'GET'|'POST',HTMLtag?:'button',deprecated?:bool} $share_options */ self::register($share_options); } @@ -233,8 +238,8 @@ class FreshRSS_Share { '~LINK~', ]; $replaces = [ - $this->id(), - $this->base_url, + $this->id() ?? '', + $this->base_url ?? '', $this->title(), $this->link(), ]; @@ -298,7 +303,10 @@ class FreshRSS_Share { } foreach ($transform as $action) { - $data = call_user_func($action, $data); + $return = call_user_func($action, $data); + if (is_string($return)) { + $data = $return; + } } return $data; @@ -307,7 +315,7 @@ class FreshRSS_Share { /** * Get the list of transformations for the given attribute. * @param string $attr the attribute of which we want the transformations. - * @return array<callable> containing a list of transformations to apply. + * @return list<callable> containing a list of transformations to apply. */ private function getTransform(string $attr): array { if (array_key_exists($attr, $this->transforms)) { |
