Warnings with functions-filter after upgrading

Upgrading I think from 1.4.0.2 to 1.4.3.2
Uploaded complete zp-core, themes and index.php.
Setup runs with warnings.

After setup, all pages have warnings :
Warning: call_user_func_array() [function.call-user-func-array]: Unable to call hitcounter::load_script() in /mnt/105/sda/6/e/myname/zen/zp-core/functions-filter.php on line 150

Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/myname/zen/zp-core/functions-filter.php:150) in /mnt/105/sda/6/e/myname/zen/index.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/myname/zen/zp-core/functions-filter.php:150) in /mnt/105/sda/6/e/myname/zen/index.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/myname/zen/zp-core/functions-filter.php:150) in /mnt/105/sda/6/e/myname/zen/index.php on line 89

Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/myname/zen/zp-core/functions-filter.php:150) in /mnt/105/sda/6/e/myname/zen/index.php on line 90

Warning: call_user_func_array() [function.call-user-func-array]: Unable to call jquery_rating::ratingJS() in /mnt/105/sda/6/e/myname/zen/zp-core/functions-filter.php on line 150

Comments

  • Can you look in your debug log and see if there is more information on these errors? There it should also show the call history. The history is the only way we have of knowing the source of the error.

    Also, what theme are you using? Are you using any third party plugins? What version of PHP?
  • Thank you.
    More information :
    - PHP Version 5.1.3RC4-dev (service "pages perso free.fr")
    - MySql version : 5.0.83
    - Theme : default
    - No third party plugins

    If I uncheck extensions, no more warnings in the user interface.
    3 extensions generate warnings for the user interface : colorbox_js, hitcounter, rating.
    Is it possible to keep the extensions without warnings with my version of PHP ?

    For the admin interface, many warnings with all extensions unchecked (See below for Debug log). Functions : security_logger, colorbox

    - Debug log (warnings in user interface):
    {Wed, 03 Oct 2012 21:20:58 GMT}
    Backtrace: AVERTISSEMENT : call_user_func_array() [function.call-user-func-array]: Unable to call hitcounter::load_script() dans /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php à la ligne 150
    call_user_func_array called
    from zp_apply_filter (functions-filter.php [150])
    from index.php [71]
    {Wed, 03 Oct 2012 21:20:58 GMT}
    Backtrace: AVERTISSEMENT : Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php:150) dans /mnt/105/sda/6/e/my.name/zen/index.php à la ligne 87
    header called
    from index.php [87]
    {Wed, 03 Oct 2012 21:20:58 GMT}
    Backtrace: AVERTISSEMENT : Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php:150) dans /mnt/105/sda/6/e/my.name/zen/index.php à la ligne 88
    header called
    from index.php [88]
    {Wed, 03 Oct 2012 21:20:58 GMT}
    Backtrace: AVERTISSEMENT : Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php:150) dans /mnt/105/sda/6/e/my.name/zen/index.php à la ligne 89
    header called
    from index.php [89]
    {Wed, 03 Oct 2012 21:20:58 GMT}
    Backtrace: AVERTISSEMENT : Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php:150) dans /mnt/105/sda/6/e/my.name/zen/index.php à la ligne 90
    header called
    from index.php [90]
    {Wed, 03 Oct 2012 21:20:58 GMT}
    Backtrace: AVERTISSEMENT : call_user_func_array() [function.call-user-func-array]: Unable to call jquery_rating::ratingJS() dans /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php à la ligne 150
    call_user_func_array called
    from zp_apply_filter (functions-filter.php [150])
    from include (index.php [9])
    from index.php [92]

    - Debug Log (admin interface) :
    {Wed, 03 Oct 2012 21:56:16 GMT}
    Backtrace: AVERTISSEMENT : call_user_func_array() [function.call-user-func-array]: Unable to call colorbox::css() dans /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php à la ligne 150
    call_user_func_array called
    from zp_apply_filter (functions-filter.php [150])
    from printAdminHeader (admin-functions.php [158])
    from admin-plugins.php [43]
    {Wed, 03 Oct 2012 21:56:35 GMT}
    Backtrace: AVERTISSEMENT : call_user_func_array() [function.call-user-func-array]: Unable to call security_logger::adminLoginLogger() dans /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php à la ligne 150
    call_user_func_array called
    from zp_apply_filter (functions-filter.php [150])
    from Zenphoto_Authority->handleLogon (lib-auth.php [631])
    from require_once (auth_zp.php [57])
    from require_once (functions.php [42])
    from require_once (admin-functions.php [9])
    from require_once (admin-globals.php [23])
    from admin.php [12]
    {Wed, 03 Oct 2012 21:56:35 GMT}
    Backtrace: AVERTISSEMENT : Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php:150) dans /mnt/105/sda/6/e/my.name/zen/zp-core/functions.php à la ligne 1517
    setcookie called
    from zp_setCookie (functions.php [1517])
    from Zenphoto_Authority::logUser (lib-auth.php [612])
    from Zenphoto_Authority->handleLogon (lib-auth.php [633])
    from require_once (auth_zp.php [57])
    from require_once (functions.php [42])
    from require_once (admin-functions.php [9])
    from require_once (admin-globals.php [23])
    from admin.php [12]
    {Wed, 03 Oct 2012 21:56:35 GMT}
    Backtrace: AVERTISSEMENT : Cannot modify header information - headers already sent by (output started at /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php:150) dans /mnt/105/sda/6/e/my.name/zen/zp-core/auth_zp.php à la ligne 62
    header called
    from require_once (auth_zp.php [62])
    from require_once (functions.php [42])
    from require_once (admin-functions.php [9])
    from require_once (admin-globals.php [23])
    from admin.php [12]
    {Wed, 03 Oct 2012 21:56:47 GMT}
    Backtrace: AVERTISSEMENT : call_user_func_array() [function.call-user-func-array]: Unable to call colorbox::css() dans /mnt/105/sda/6/e/my.name/zen/zp-core/functions-filter.php à la ligne 150
    call_user_func_array called
    from zp_apply_filter (functions-filter.php [150])
    from printAdminHeader (admin-functions.php [158])
    from admin.php [130]
  • I have done some research on this. It appears that some versions of PHP do not properly handle passing static object methods as the target of a `call_user_function()` execution.

    We have been methodically changing code to make use of objects with static functions in order to reduce the number of extraneous functions in the PHP script domain. (This helps prevent function name conflicts since PHP can have only one definition of a function.)

    The hitcounter plugin is one of the areas changed and the function it registers to count the hits is a static method of its primary object. This is the source of the error you get.

    Your options are as follows:

    1. Try to upgrade your PHP version. It is not clear, but there are indications that the fix for this is in PHP version 5.2 and later. We have tested with PHP version 5.3 and know it works there.

    2. Disable the hitcounter plugin.

    3. (A guess, may not actually work) Change the code in the filter registration from "hitcounter::load_script" to "hitcounter->load_script".

    Your best bet if possible is to upgrade the PHP version. There are other plugins that use similar syntax and they as well will not work.
  • Thanks for the answer ...

    1. upgrade PHP version : Not possible (Free and shared hosting). Is it possible to go back to an older version of Zenphoto (whithout the new code) ?

    2. Done. But same errors with admin functions (security_logger, colorbox ...)

    3. I tried to change the code of hitcounter.php, but it doesn't work : "->" => "->"
    Message : Backtrace: AVERTISSEMENT : call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'hitcounter->load_script' was given dans /.../zp-core/functions-filter.php à la ligne 150
    call_user_func_array called
    from zp_apply_filter (functions-filter.php [150])
    from index.php [71]
  • You can always go to older versions of Zenphoto. There is an archive link on the WEB page. But be aware that you will be on your own with these as we cannot provide fixes and support for them. In particular, they will not get any security fixes applied so your site will become vulnerable.

    Generally the security community publishes the exploits once there is a fix available, so they will be know to all hackers.

    I would recommend you request your provider to upgrade his PHP. You may even find that there is a more current version to choose from. But PHP 5.1.3 is pretty old and the developers have fixed many bugs (including this one) in the newer versions.
Sign In or Register to comment.