Error in moxiemanager with PHP7

2k Views Asked by At

After updating the version from PHP5 to PHP7, an error appears when trying to insert images from the moxiemanager plugin of the tinymce that I have integrated into the project.

just tell me: Error: Array to string conversion

1

There are 1 best solutions below

1
Jesus Guevara On BEST ANSWER

After a few hours, I could find the error

Specifically in: /home/user/website/admin/js/vendor/tinymce/plugins/moxiemanager/classes/Util/EventDispatcher.php:118

In the method:

public function dispatch($sender, $name, $args) {
    $name = strtolower($name);

    if (isset($this->observers[$name])) {
        $observers = $this->observers[$name];
        $args->setSender($sender);

        for ($i = 0, $l = count($observers); $i < $l; $i++) {
            $value = $observers[$i][1]->$observers[$i][0]($args);

            // Is stopped then break the loop
            if ($value === false || $args->isStopped()) {
                return $args;
            }
        }
    }

    return $args;
}

you must replace the following line:

$value = $observers[$i][1]->$observers[$i][0]($args);

For this:

$value = $observers[$i][1]->{$observers[$i][0]}($args);

PHP7 uses an abstract syntactic tree when analyzing the source files. Indirect access to variables, properties and methods will now be strictly evaluated from left to right.