heimrichhannot / contao-haste_plus

GNU Lesser General Public License v3.0
0 stars 4 forks source link

StringUtil.php warning #2

Closed reluem closed 10 months ago

reluem commented 7 years ago

on installing haste_plus, the error log constantly throws warnings:

[21.01.2017 15:08:15] PHP Warning: explode() expects parameter 2 to be string, array given in /is/htdocs/wpxxx_5HWO9P0IN0/www/xxx/system/modules/core/library/Contao/StringUtil.php on line 791

deactivating the module in system settings helps (no more warnings).

Any clues why this would happen? known error?

System: Contao 3.5.24, PHP 5.6.29-he.0

fatcrobat commented 7 years ago

Latest haste_plus version installed? Can you please copy the complete stack trace?

reluem commented 7 years ago

Hi, yes latest haste_plus (1.6.22) is installed Below is full log entry:

[22-Jan-2017 10:01:32 Europe/Berlin] 
PHP Warning: explode() expects parameter 2 to be string, array given in /is/htdocs/xxx/www/xxx/system/modules/core/library/Contao/StringUtil.php on line 791
#0 [internal function]: __error_enhanced(2, 'explode() expects parameter 2 to be string, array given', 'system/modules/core/library/Contao/StringUtil.php', 791, Array)
#1 system/modules/core/library/Contao/StringUtil.php(791): explode('|', Array)
#2 system/modules/core/classes/BackendTemplate.php(87): Contao\StringUtil::resolveFlaggedUrl(Array)
#3 system/modules/core/controllers/BackendMain.php(275): Contao\BackendTemplate->output()
#4 system/modules/core/controllers/BackendMain.php(135): Contao\BackendMain->output()
#5 contao/main.php(20): Contao\BackendMain->run()
fatcrobat commented 7 years ago

As there does no haste_plus occur in the stack trace, Contao\StringUtil should handle how to catch arrays. But anyways we will have an eye on it.

fatcrobat commented 7 years ago

Can you please comment all $GLOBALS['TL_JAVASCRIPT'] from haste_plus/config/config.php and tell me if the error still occur?

/**
 * Add jquery to backend
 */
if (TL_MODE == 'BE')
{
    array_insert(
        $GLOBALS['TL_JAVASCRIPT'],
        0,
        [
            'jquery'            => 'assets/jquery/core/' . $GLOBALS['TL_ASSETS']['JQUERY'] . '/jquery.min.js',
            'jquery-noconflict' => 'system/modules/haste_plus/assets/js/jquery-noconflict.min.js',
        ]
    );
}

/**
 * Assets
 */
array_insert(
    $GLOBALS['TL_JAVASCRIPT'],
    1,
    [
        'haste_plus'             => '/system/modules/haste_plus/assets/js/haste_plus.min.js|static',
        'haste_plus_environment' => '/system/modules/haste_plus/assets/js/environment.min.js|static',
        'haste_plus_files'       => '/system/modules/haste_plus/assets/js/files.min.js|static',
        'haste_plus_arrays'      => '/system/modules/haste_plus/assets/js/arrays.min.js|static',
        'haste_plus_dom'         => '/system/modules/haste_plus/assets/js/dom.min.js|static',
    ]
);

if (TL_MODE == 'FE')
{
    array_insert(
        $GLOBALS['TL_JAVASCRIPT'],
        0,
        [
            'vendor_jsapi'             => 'https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22visualization%22%2C%22version%22%3A%221.0%22%2C%22packages%22%3A%5B%22corechart%22%5D%7D%5D%7D',
            'vendor_geoxml3'           => '/system/modules/haste_plus/assets/js/vendor/geoxml3.js|static',
            'vendor_vis_charts_loader' => '/system/modules/haste_plus/assets/js/vendor/visualization/charts/loader.js|static',
        ]
    );
}
reluem commented 7 years ago

tried commenting with #, /* and // like this

/**
 * Add jquery to backend
 */
if (TL_MODE == 'BE')
{
    array_insert(
        # $GLOBALS['TL_JAVASCRIPT'],
        0,
        [
            'jquery'            => 'assets/jquery/core/' . $GLOBALS['TL_ASSETS']['JQUERY'] . '/jquery.min.js',
            'jquery-noconflict' => 'system/modules/haste_plus/assets/js/jquery-noconflict.min.js',
        ]
    );
}

throughout the file.

No change though, issue unfortunately still persits. Took a while to refresh, this is new error log:

[23-Jan-2017 15:43:00 Europe/Berlin] PHP Fatal error:  Cannot use 'String' as class name as it is reserved in /is/htdocs/xxx/www/xxx/system/modules/core/library/Contao/String.php on line 15

Did I understand you correctly?

Thanks!