[BUG 4.9.13-Dev] PIM: Uncaught Error: [] operator not supported for strings

Alle bestätigten Fehler in CONTENIDO 4.9 (erledigte Fehler werden durch geschlossene Beiträge gekennzeichnet).
Antworten
Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

[BUG 4.9.13-Dev] PIM: Uncaught Error: [] operator not supported for strings

Beitrag von Oldperl » Mo 24. Jul 2017, 17:28

Servus,

in der Dev unter PHP 7.1 schmeißt der PIM nach der Installation von Plugins mit Menüeinträgen folgende Fehlermeldung:

Code: Alles auswählen

[24-Jul-2017 16:13:57 UTC] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /var/www/washop/dev/contenido/plugins/pim/classes/view/class.pimpluginview.navsub.php:345
Stack trace:
#0 /var/www/washop/dev/contenido/plugins/pim/classes/view/class.pimpluginview.navsub.php(165): PimPluginViewNavSub->_getPluginNavigation('Extras')
#1 /var/www/washop/dev/contenido/plugins/pim/includes/include.right_bottom.php(113): PimPluginViewNavSub->getNavSubentries()
#2 /var/www/washop/dev/contenido/main.php(202): include_once('/var/www/washop...')
#3 {main}
  thrown in /var/www/washop/dev/contenido/plugins/pim/classes/view/class.pimpluginview.navsub.php on line 345
Grund ist eine falsche Variablen-Init in der Klasse plugins/pim/classes/view/class.pimpluginview.navsub.php. Dort wird nämlich die Variable $founded in Zeile 308 als String initiiert, dann aber versucht in Zeile 345 als Array mit [] zu befüllen, was dann den entsprechenden Fehler erzeugt.

Code: Alles auswählen

if (cFileHandler::exists($pluginLanguageFileLang) && $contenidoNav != "") {

            // Initializing founded variable
            $founded = "";

            for ($i = 0; $i < $this->_NavCount; $i++) {

                // Get only navigation value (pattern)
                preg_match(self::PATTERN, self::$XmlNavSub->nav[$i], $matches);

                // Define query
                $query = '//' . $matches[1];

                // Load plugin navigation xml file
                $this->_DOMDocument->load($pluginLanguageFileLang);

                // Create new DOMXPath
                $xpath = new DOMXPath($this->_DOMDocument);

                // Run defined query
                $entriesLang = $xpath->query($query);

                // Prevent misarrangement
                if ($entriesLang->length == 0) {
                    return false;
                }

                foreach ($entriesLang as $entry) {

                    // If we have more then one navigation entry, define
                    // menuname for other entries
                    if (self::$XmlNavSub->nav[$i]->attributes()->level == 0 && $this->_NavCount > 1) {
                        $menuName = $entry->nodeValue;
                        continue;
                    } elseif (self::$XmlNavSub->nav[$i]->attributes()->level == 1 && $menuName == '') {
                    	// If we have an plugin with level one and no defined menuName, use subnavigation name
                    	// as menuName
						$menuName = $this->_SubNav;
                    }

                    $founded[] = i18n('You find this plugin at navigation section', 'pim') . " &quot;{$contenidoNav}&quot; " . i18n('as', 'pim') . (($menuName != "") ? ' &quot;' . $menuName . '&quot; ->' : '') . " &quot;{$entry->nodeValue}&quot;<br />";
                }
            }

            // Prevent double entries
            $founded = array_unique($founded);

            // Initializing output variable
            $output = "";

            // Convert founded array to an string
            foreach ($founded as $entry) {
                $output .= $entry;
            }

            return $output;
        } else {
            return false;
        }
Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [BUG 4.9.13-Dev] PIM: Uncaught Error: [] operator not supported for strings

Beitrag von frederic.schneider_4fb » Do 27. Jul 2017, 19:33

Danke Dir! Schaue ich mir bei nächster Gelegenheit an.
Frederic Schneider
Entwickler bei der four for business AG

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [BUG 4.9.13-Dev] PIM: Uncaught Error: [] operator not supported for strings

Beitrag von frederic.schneider_4fb » Do 3. Aug 2017, 08:19

Lieber Ortwin,

der Fehler ist inzwischen behoben.
Frederic Schneider
Entwickler bei der four for business AG

Antworten