Undefined constant MAX_AVATAR_WIDTH

  • Good evening,


    We get several errors regarding undefined constant. See below.

    ___________________________
    Laurent Declercq (nuxwin)
    i-MSCP project director

    Edited once, last by i-MSCP ().

  • The MAX_AVATAR_*-options are no longer used as of WoltLab Suite 3.0, possibly you are using outdated templates or plugins that still reference these options. You could try clearing the cache through the ACP and then access the avatar management in your own profile to verify if the issue is solved.

  • Good morning Alexander Ebert


    The story


    We have updated as follows:


    Update from Woltlab Burning Board 4.1 to Woltlab suite 3.0, then from Woltlab suite 3.0 to Woltlab suite 3.1

    Update from Woltlab Filebase 2.1 to Woltlab Filebase 3.0, then from Woltlab Filebase 3.0 to Woltlab Filebase 3.1


    UPDATE PREPARATION

    • Enable the maintenance mode for the Woltlab production instance
    • Create a new SQL database for the Woltlab maintenance instance
    • Create a new SQL user for the Woltlab maintenance instance with all privileges on the Woltlab maintenance instance database
    • Create a new subdomain for the Woltlab maintenance instance
    • Make an SQL dump of the Woltlab production instance database: mysqldump -u <user> -p <woltlab_production_database> > /usr/local/src/woltlab.sql
    • Restore the SQL dump into the Woltlab maintenance instance database: mysql -u <user> -p <woltlab_maintenance_database> < /usr/local/src/woltlab.sql
    • Update both the domain name and cookie domain according the Woltlab maintenance instance domain (applications), and also the WCF UUID:


      • SQL
        1. # mysql -u <user> -p
        2. > use <woltlab_maintenance_database>;
        3. > UPDATE wcf1_application SET domainName = '<woltlab_maintenance_instance_domain>', cookieDomain = '<woltlab_maintenance_instance_domain>';
        4. > UPDATE wcf1_option SET optionValue = '<UUID>' WHERE optionName = 'wcf_uuid';
    • Copy all Web files from the Woltlab production instance to the Woltlab maintenance instance: cp -Rp <woltlab_production_instance_path>/htdocs/* <woltlab_maintenance_instance_path>/htdocs/
    • Update SQL database name and SQL user, including password into the <woltlab_maintenance_instance_path>/htdocs//wcf/config.inc.php file
    • Remove cache files for the Woltlab maintenance instance: rm -r <new_instance_path>/htdocs/wcf/wcf/cache/cache.*
    • Remove the wcf/options.inc.php file for the Woltlab maintenance instance: rm <woltlab_maintenance_instance_path>/htdocs//wcf/options.inc.php
    • Connect to the ACP of the Woltlab maintenance instance to switch back to default cache provider (filesystem), it was APC (3rd-party provider)
    • Reload the php7.0-fpm service: service php7.0-fpm reload
    • Uninstall any non-woltlab plugin for the Woltlab maintenance instance

    UPDATE

    • Update Woltlab maintenance instance to Woltlab Suite 3.0 (We need first add the required woltlab update servers: vortex)
    • Rebuilt all data
    • Update Woltlab maintenance instance to Woltlab Suite 3.1 (We need first add the required woltlab update servers: tornado)
    • Rebuilt all data

    PLUGINS

    • Install required plugins: Daily Visitors from web-produktion

    CUSTOMIZATION

    • In the styles section of the Woltlab maintenance instance, update the logo and max-width (from 1400 to 1600)
    • In the language section of the Woltlab maintenance instance, replace any Filebase phrase by Plugin-Store
    • In the menu section of the Woltlab maintenance instance, add missing external menus
    • Install the Redis server and setup the redis cache provider for the Woltlab maintenance instance

    SWITCH TO PRODUCTION

    • Enable protected area (htaccess) for the Woltlab production instance
    • Make a full backup of the Woltlab production instance Web files: cp -Rp <woltlab_production_instance_path>/htdocs /usr/local/src/woltlab-backup
    • Remove allWoltlab prodution instance Web files: rm -r <woltlab_production_instance_path>/htdocs/*
    • Copy all Web files from the Woltlab maintenance instance to the Woltlab production instance: cp -Rp <woltlab_maintenance_instance_path>/htdocs/* <woltlab_production_instance_path>/htdocs/
    • Update both the domain name and cookie domain according the Woltlab production instance domain (applications)


      • SQL
        1. # mysql -u <user> -p
        2. > use <woltlab_maintenance_database>;
        3. > UPDATE wcf1_application SET domainName = '<woltlab_production_instance_domain>', cookieDomain = '<woltlab_production_instance_domain>';
    • Disable the protected area (htaccess) for the Woltlab production instance

    Note: We have generated a new WCF UUID using the following script: generate_wcf_uuid.php:

    PHP
    1. <?php
    2. printf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));

    DISCUSSION


    As you can read, we have cleared the cache through the ACP. However it seem that some compiled templates from older version were not removed. To solve the issue, we have deleted them manually through SSH, then, we have triggered a cache clearing again. You should maybe have a further look at this issue. When clearing cache, any file from the target directory should be removed. Note that permissions on the compiled templates were all correct.

    ___________________________
    Laurent Declercq (nuxwin)
    i-MSCP project director

    Edited 2 times, last by i-MSCP ().