To erro 500 on the afilliate plugin 2.0 and 66biolink 56.0
Replace the controller  Referrals.php on /app/controllers/Referrals.php to:
<?php
/*
 * Copyright (c) 2025 AltumCode (
https://altumcode.com/)
 *
 * This software is licensed exclusively by AltumCode and is sold only via 
https://altumcode.com/.
 * Unauthorized distribution, modification, or use of this software without a valid license is not permitted and may be subject to applicable legal actions.
 *
 * 

 View all other existing AltumCode projects via 
https://altumcode.com/
 * 

 Get in touch for support or general queries via 
https://altumcode.com/contact
 * 

 Download the latest version via 
https://altumcode.com/downloads
 *
 * 

 X/Twitter: 
https://x.com/AltumCode
 * 

 Facebook: 
https://facebook.com/altumcode
 * 

 Instagram: 
https://instagram.com/altumcode
 */
namespace Altum\Controllers;
use Altum\Alerts;
defined('ALTUMCODE') || die();
class Referrals extends Controller {
    public $user;
    public function index() {
        if(!\Altum\Plugin::is_active('affiliate') || (\Altum\Plugin::is_active('affiliate') && !settings()->affiliate->is_enabled)) {
            redirect('not-found');
        }
        \Altum\Authentication::guard();
        /* Verify if user exists */
        if(!$this->user || !isset($this->user->user_id)) {
            redirect('login');
        }
        /* Get details for statistics */
        $referrals_statistics_query = database()->query("SELECT COUNT(`user_id`) AS `referrals`, SUM(`referred_by_has_converted`) AS `converted_referrals` FROM `users` WHERE `referred_by` = {$this->user->user_id}");
        $referrals_statistics = $referrals_statistics_query ? $referrals_statistics_query->fetch_object() : null;
        $pending_affiliate_commissions_date = (new \DateTime())->modify('-30 days')->format('Y-m-d H:i:s');
        $pending_affiliate_commissions_query = database()->query("SELECT SUM(`amount`) AS `total` FROM `affiliates_commissions` WHERE `user_id` = {$this->user->user_id} AND `datetime` > '{$pending_affiliate_commissions_date}' AND `is_withdrawn` = 0");
        $pending_affiliate_commissions = $pending_affiliate_commissions_query ? ($pending_affiliate_commissions_query->fetch_object()->total ?? 0) : 0;
        $approved_affiliate_commissions_query = database()->query("SELECT SUM(`amount`) AS `total` FROM `affiliates_commissions` WHERE `user_id` = {$this->user->user_id} AND `datetime` < '{$pending_affiliate_commissions_date}' AND `is_withdrawn` = 0");
        $approved_affiliate_commissions = $approved_affiliate_commissions_query ? ($approved_affiliate_commissions_query->fetch_object()->total ?? 0) : 0;
        $approved_affiliate_commissions = number_format($approved_affiliate_commissions, 2, '.', '');
        /* Prepare the filtering system */
        $filters = (new \Altum\Filters());
        $filters->set_default_order_by('affiliate_withdrawal_id', $this->user->preferences->default_order_type ?? settings()->main->default_order_type);
        $filters->set_default_results_per_page($this->user->preferences->default_results_per_page ?? settings()->main->default_results_per_page);
        /* Prepare the paginator */
        $total_rows_query = database()->query("SELECT COUNT(*) AS `total` FROM `affiliates_withdrawals` WHERE `user_id` = {$this->user->user_id}");
        $total_rows = $total_rows_query ? ($total_rows_query->fetch_object()->total ?? 0) : 0;
        $paginator = (new \Altum\Paginator($total_rows, $filters->get_results_per_page(), $_GET['page'] ?? 1, url('referrals?' . $filters->get_get() . '&page=%d')));
        /* Get withdrawals */
        $affiliate_commission_is_pending = false;
        $affiliate_withdrawals = [];
        $affiliate_withdrawals_result = database()->query("SELECT * FROM `affiliates_withdrawals` WHERE `user_id` = {$this->user->user_id} {$paginator->get_sql_limit()}");
        if($affiliate_withdrawals_result) {
            while($row = $affiliate_withdrawals_result->fetch_object()) {
                $affiliate_withdrawals[] = $row;
                if(!$row->is_paid) {
                    $affiliate_commission_is_pending = true;
                }
            }
        }
        /* Prepare the pagination view */
        $pagination = (new \Altum\View('partials/pagination', (array) $this))->run(['paginator' => $paginator]);
        if(!empty($_POST)) {
            $_POST['amount'] = number_format((float) $_POST['amount'], 2, '.', '');
            $_POST['note'] = trim(query_clean($_POST['note']));
            /* Check for any errors */
            if(!\Altum\Csrf::check()) {
                Alerts::add_error(l('global.error_message.invalid_csrf_token'));
            }
            if($_POST['amount'] < settings()->affiliate->minimum_withdrawal_amount) {
                redirect('referrals');
            }
            if($approved_affiliate_commissions < settings()->affiliate->minimum_withdrawal_amount) {
                redirect('referrals');
            }
            if($_POST['amount'] > $approved_affiliate_commissions) {
                redirect('referrals');
            }
            if(!Alerts::has_field_errors() && !Alerts::has_errors()) {
                /* Get approved affiliate commissions ids */
                $affiliate_commissions_ids = [];
                $amount = 0;
                $result = database()->query("SELECT `affiliate_commission_id`, `amount` FROM `affiliates_commissions` WHERE `user_id` = {$this->user->user_id} AND `datetime` < '{$pending_affiliate_commissions_date}' AND `is_withdrawn` = 0");
                if($result) {
                    while($row = $result->fetch_object()) {
                        $affiliate_commissions_ids[] = $row->affiliate_commission_id;
                        $amount += $row->amount;
                    }
                }
                $affiliate_commissions_ids = json_encode($affiliate_commissions_ids);
                $amount = number_format($amount, 2, '.', '');
                /* Database query */
                db()->insert('affiliates_withdrawals', [
                    'user_id' => $this->user->user_id,
                    'amount' => $amount,
                    'currency' => settings()->payment->default_currency,
                    'note' => $_POST['note'],
                    'affiliate_commissions_ids' => $affiliate_commissions_ids,
                    'datetime' => get_date(),
                ]);
                /* Send notification to admin if needed */
                if(settings()->email_notifications->new_affiliate_withdrawal && !empty(settings()->email_notifications->emails)) {
                    /* Prepare the email */
                    $email_template = get_email_template(
                        [
                            '{{TOTAL_AMOUNT}}' => $amount,
                            '{{CURRENCY}}' => settings()->payment->default_currency,
                        ],
                        l('global.emails.admin_new_affiliate_withdrawal_notification.subject'),
                        [
                            '{{NAME}}' => $this->user->name,
                            '{{EMAIL}}' => $this->user->email,
                            '{{TOTAL_AMOUNT}}' => $amount,
                            '{{CURRENCY}}' => settings()->payment->default_currency,
                            '{{AFFILIATE_WITHDRAWAL_NOTE}}' => $_POST['note'],
                            '{{ADMIN_AFFILIATE_WITHDRAWAL_LINK}}' => url('admin/affiliates-withdrawals'),
                        ],
                        l('global.emails.admin_new_affiliate_withdrawal_notification.body')
                    );
                    send_mail(explode(',', settings()->email_notifications->emails), $email_template->subject, $email_template->body);
                }
                if(settings()->internal_notifications->admins_is_enabled && settings()->internal_notifications->new_affiliate_withdrawal) {
                    db()->insert('internal_notifications', [
                        'for_who' => 'admin',
                        'from_who' => 'system',
                        'icon' => 'fas fa-wallet',
                        'title' => l('global.notifications.new_affiliate_withdrawal.title'),
                        'description' => sprintf(l('global.notifications.new_affiliate_withdrawal.description'), $this->user->name, $this->user->email, $amount, settings()->payment->default_currency),
                        'url' => 'admin/affiliates-withdrawals',
                        'datetime' => get_date(),
                    ]);
                }
                /* Set a nice success message */
                Alerts::add_success(l('referrals.withdraw.success_message'));
                redirect('referrals');
            }
        }
        /* Get the account header menu */
        $menu = new \Altum\View('partials/account_header_menu', (array) $this);
        $this->add_view_content('account_header_menu', $menu->run());
        /* Prepare the view */
        $data = [
            'referrals_statistics' => $referrals_statistics,
            'pending_affiliate_commissions' => $pending_affiliate_commissions,
            'approved_affiliate_commissions' => $approved_affiliate_commissions,
            'affiliate_commission_is_pending' => $affiliate_commission_is_pending,
            'affiliate_withdrawals' => $affiliate_withdrawals,
            'pagination' => $pagination
        ];
        $view = new \Altum\View('referrals/index', (array) $this);
        $this->add_view_content('content', $view->run($data));
    }
}