• Resolved Larry_Oqobo

    (@larry_oqobo)


    Is there any chance that this plugin will be updated to support PHP 8+? I know you have the online version but that doesn’t work for the few sites that we support.

    Thank you.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Support yenmer

    (@yenmer)

    Hi @larry_oqobo

    Thanks for reaching out!

    To better assist you please fill out the following form here, and we will review your request.

    Sincerely,
    Yenmer.
    Timely Customer Support.

    Thread Starter Larry_Oqobo

    (@larry_oqobo)

    Thank you for the response. The contact form has been submitted.

    Larry

    For any others experiencing this issue here are some suggestions…

    Offered with no warranty, please test in your own environment before implementation in production sites… YMMV (-:

    With much gratitude to @leroyrosales and his forked 3.0.0 version at https://github.com/leroyrosales/all-in-one-event-calendar

    To mitigate many of the Deprecation notices being generated in the version 3.0.1 of the plugin you will need to update a number of functions in two library scripts to include the #[\ReturnTypeWillChange] attribute.

    See: https://www.php.net/manual/en/class.returntypewillchange.php

    Also see this very detailed StackOverflow answer for more info and potentially more suggestions about resolving this issue permanently rather than simply supressing the deprecation notices:
    https://stackoverflow.com/questions/71133749/reference-return-type-of-should-either-be-compatible-with-or-the-re

    For example,

    /**
     * @overload ArrayAccess::offsetGet()
     */
    #[\ReturnTypeWillChange]
    public function offsetGet( $offset ) {
        return $this->get_scalar( $offset );
    }

    Change \lib\http\request\abstract.php to update these functions
    public function offsetGet
    public function offsetSet
    public function offsetUnset

    Change lib\iCal\helper\SG_iCal_Line.php to update these functions
    public function offsetExists
    public function offsetGet
    public function offsetSet
    public function offsetUnset
    public function count
    public function getIterator

    More updates regarding 8.x support. I have found there are a number of patches that need to be made in upstream libraries included in the ai1ec plugin. The included versions of libraries for the ics/ical parsing as well as twig are older and integration of the newer PHP 8.x stable versions is likely quite an endeavor. It may be a while before they are updated in this plugin.

    In addition to the changes originally outlined, the creation of Dynamic Properties has been deprecated in PHP 8.2. See this link for details.
    https://php.watch/versions/8.2/dynamic-properties-deprecated

    To resolve the extensive logging of these notices add #[AllowDynamicProperties] attribute to the class definition, for example:

    #[AllowDynamicProperties]
    class User {
      private int $uid;
    }

    Make the change to include the #[AllowDynamicProperties] the following files:
    lib/http/request.php
    lib/iCal/helper/SG_iCal_Recurrence.php
    lib/scheduling/utility.php
    vendor/lessphp/lessc.inc.php

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘PHP 8 Support’ is closed to new replies.