kochm / wp-mendeley-plugin

WordPress plugin for showing data from Mendeley
7 stars 4 forks source link

Validate against PHP 8.1 and Wordpress 6.1 #11

Open signosis opened 2 years ago

signosis commented 2 years ago

The current plugin has not been validated to work with WordPress 6.1 and PHP 8.1. With PHP 7.4 being EOF in 3 Months what steps need to be taken to update this plugin?

signosis commented 2 years ago

Issues with json.php Phan reports the following general issue with PHP 7.4 and PHP 8.1

UndefError PhanUndeclaredProperty Reference to undeclared property \Services_JSON->use

CompatError PhanCompatibleDimAlternativeSyntax Array and string offset access syntax with curly braces is deprecated in PHP 7.4. Use square brackets instead. Seen for $utf16{0}, Seen for $chrs{$c} , Seen for $str{0}, Seen for $chrs{++$c}

UndefError PhanPossiblyUndeclaredVariable Variable $arr, $obj, is possibly undeclared

UndefError PhanUndeclaredClassMethod Call to method isError from undeclared class \PEAR

signosis commented 2 years ago
Issues with WP-Mendeley.PHP Error Issue Conclusion
RedefineError RedefineFunctionInternal Function json_decode defined at tmp.php:51 was previously defined internally
RedefineError RedefineFunctionInternal Function json_encode defined at tmp.php:48 was previously defined internally
TypeError NonClassMethodCall Call to method formatWidget on non-class type null
UndefError PossiblyUndeclaredVariable Variable $secret is possibly undeclared
TypeError TypeArraySuspiciousNull Suspicious array access to $headers of type null
TypeError TypeArraySuspiciousNull Suspicious array access to $attrs of nullable type ?mixed
TypeError TypeArraySuspiciousNull Suspicious array access to $attrs of nullable type ?mixed|?non-empty-mixed
TypeError TypeExpectedObjectPropAccessButGotNull Expected an object instance when accessing an instance property, but saw an expression $result with type null=
TypeError TypeInvalidRightOperandOfAdd Invalid operator: right operand of + is ?string (expected array or number)
TypeError TypeInvalidRightOperandOfAdd Invalid operator: right operand of + is null (expected array or number)
TypeError TypeMismatchArgumentInternal Argument 1 ($haystack) is $tmps of type \the but \stristr() takes string
TypeError TypeMismatchArgumentInternal Argument 1 ($seconds) is $time_limit of type false|string but \set_time_limit() takes int
TypeError TypeMismatchArgumentInternal Argument 3 ($offset) is false of type false but \strpos() takes int
TypeError TypeMismatchArgumentInternalReal Argument 1 ($haystack) is $tag_arr of type null but \stristr() takes string
TypeError TypeMismatchDimAssignment When appending to a value of type array{}, found an array access index of type ?'Link'|?string, but expected the index to be of type int|string
TypeError TypeMismatchReturnProbablyReal Returning (($x . $concat_str) . $y) of type string but concatenate() is declared to return \the (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type)
TypeError TypeSuspiciousEcho Suspicious argument $after_widget of type null= for an echo/print statement
TypeError TypeSuspiciousEcho Suspicious argument $before_widget of type null= for an echo/print statement
TypeError TypeSuspiciousStringExpression Suspicious type null= of a variable or expression $after_title used to build a string. (Expected type to be able to cast to a string)
TypeError TypeSuspiciousStringExpression Suspicious type null= of a variable or expression $before_title used to build a string. (Expected type to be able to cast to a string)
UndefError UndeclaredClass Reference to undeclared class \WP_Widget
UndefError UndeclaredClassMethod Call to method __construct from undeclared class \citeproc
UndefError UndeclaredClassMethod Call to method __construct from undeclared class \Services_JSON
UndefError UndeclaredClassMethod Call to method render from undeclared class \citeproc
UndefError UndeclaredConstant Reference to undeclared constant \ABSPATH. This will cause a thrown Error in php 8.0+.
UndefError UndeclaredConstant Reference to undeclared constant \WP_CONTENT_DIR. This will cause a thrown Error in php 8.0+.
UndefError UndeclaredExtendedClass Class extends undeclared class \WP_Widget
UndefError UndeclaredFunction Call to undeclared function __()
UndefError UndeclaredFunction Call to undeclared function _e()
UndefError UndeclaredFunction Call to undeclared function \add_action()
UndefError UndeclaredFunction Call to undeclared function \add_options_page()
UndefError UndeclaredFunction Call to undeclared function \add_shortcode()
UndefError UndeclaredFunction Call to undeclared function \admin_url()
UndefError UndeclaredFunction Call to undeclared function \apply_filters()
UndefError UndeclaredFunction Call to undeclared function \content_url()
UndefError UndeclaredFunction Call to undeclared function \dbDelta()
UndefError UndeclaredFunction Call to undeclared function \esc_attr()
UndefError UndeclaredFunction Call to undeclared function \get_option()
UndefError UndeclaredFunction Call to undeclared function \load_plugin_textdomain()
UndefError UndeclaredFunction Call to undeclared function \plugin_basename()
UndefError UndeclaredFunction Call to undeclared function \plugins_url()
UndefError UndeclaredFunction Call to undeclared function \register_widget()
UndefError UndeclaredFunction Call to undeclared function \update_option()
UndefError UndeclaredFunction Call to undeclared function \wp_enqueue_script()
UndefError UndeclaredFunction Call to undeclared function \wp_register_script()
UndefError UndeclaredMethod Call to undeclared method \MendeleyCollectionWidget::get_field_id
UndefError UndeclaredMethod Call to undeclared method \MendeleyCollectionWidget::get_field_name
UndefError UndeclaredMethod Call to undeclared method \MendeleyOwnWidget::get_field_id
UndefError UndeclaredMethod Call to undeclared method \MendeleyOwnWidget::get_field_name
UndefError UndeclaredMethod Call to undeclared method \MendeleyPlugin::filesExistsInCache
UndefError UndeclaredMethod Call to undeclared method \MendeleyPlugin::setFailedToCache
UndefError UndeclaredProperty Reference to undeclared property \MendeleyPlugin->settings
UndefError UndeclaredProperty Reference to undeclared property \MendeleyPlugin->type_map
UndefError UndeclaredTypeReturnType Return type of comma_concatenate() is undeclared type \the
UndefError UndeclaredTypeReturnType Return type of comma_separated_names() is undeclared type \the
UndefError UndeclaredTypeReturnType Return type of concatenate() is undeclared type \the
UndefError UndeclaredVariable Variable $after_title, $after_widget, $before_title, $before_widget,$result,$tag_arr is undeclared