XenForo 2.2.15 Released Full | XenForo 2.2 ENXF

Released 2x XenForo 2.2.15 Released Full | XenForo 2.2 ENXF 2.2.15

No permission to download

HarryPotteR

Active member
Registered
Joined
Feb 2, 2019
Messages
43
Points
28

Reputation:

Awful experience :confused:

returned back to XF 2.1 again . .
 

asherhen

Member
Registered
Joined
Mar 7, 2020
Messages
10
Points
13

Reputation:

Redbear

Member
Registered
Joined
Mar 5, 2020
Messages
11
Points
13

Reputation:

Hey There,
I did the update from 2.2.2 to 2.2.8,
even though I unchecked the " Check For Stable Versions" box
I still get this error,

Code:
XenForo upgrade check failed: cURL error 6: Could not resolve host: upgrade-check.json (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:185

is there a current fix for this?
 

SNap!

Collaborate
Collaborate
Registered
Joined
Mar 17, 2022
Messages
561
Points
253

Reputation:

Hey There,
I did the update from 2.2.2 to 2.2.8,
even though I unchecked the " Check For Stable Versions" box
I still get this error,

Code:
XenForo upgrade check failed: cURL error 6: Could not resolve host: upgrade-check.json (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:185

is there a current fix for this?
Redbearthey check on xenforo.com for new version, so if you dont have added some customer information like

Code:
const XF_API_URL = '';
 const XF_LICENSE_KEY = '';

Code:
<?php

namespace XF\Service\Upgrade;

use XF\Service\AbstractService;

class Checker extends AbstractService
{
    protected $apiKey;

    protected $stableOnly;

    protected $boardUrl;

    protected $usingBranding;

    protected $addOnVersions = [];

    protected function setup()
    {
        $options = $this->app->options();

        $this->apiKey = \XF::XF_LICENSE_KEY;
        $this->boardUrl = $options->boardUrl;
        $this->stableOnly = $options->upgradeCheckStableOnly;
        $this->usingBranding = trim(\XF::getCopyrightHtml()) ? true : false;

        $addOns = $this->app->finder('XF:AddOn')->fetch()
            ->pluckNamed('version_id', 'addon_id');
        $addOns['XF'] = \XF::$versionId; // trust the file version more than the DB version

        // only pass XF add-ons
        $this->addOnVersions = array_filter($addOns, function($key)
        {
            return (strpos($key, 'XF') === 0);
        }, ARRAY_FILTER_USE_KEY);
    }

    public function setStableOnly($stable)
    {
        $this->stableOnly = $stable;
    }

    public function setApiKey($key)
    {
        $this->apiKey = $key;
    }

    public function check(&$detailedError = null)
    {
        $client = $this->app->http()->client();
        $errorMessage = null;
        $errorCode = null;
        $checkData = [];

        try
        {
            $response = $client->post(\XF::XF_API_URL . 'upgrade-check.json', [
                'exceptions' => false,
                'headers' => [
                    'XF-LICENSE-API-KEY' => $this->apiKey
                ],
                'form_params' => [
                    'board_url' => $this->boardUrl,
                    'addons' => $this->addOnVersions,
                    'using_branding' => $this->usingBranding ? 1 : 0,
                    'stable_only' => $this->stableOnly ? 1 : 0
                ]
            ]);

            $contents = $response->getBody()->getContents();

            try
            {
                $responseJson = \GuzzleHttp\json_decode($contents, true);
            }
            catch (\InvalidArgumentException $e)
            {
                $responseJson = null;
            }

            if (isset($responseJson['error']))
            {
                $errorCode = $responseJson['error'];

                if (isset($responseJson['error_message']))
                {
                    $errorMessage = $responseJson['error_message'];
                }
                else
                {
                    $errorMessage = 'An unexpected error occurred.';
                }
            }
            else if ($response->getStatusCode() === 200 && isset($responseJson['boardUrlValid']))
            {
                $checkData = [
                    'board_url_valid' => $responseJson['boardUrlValid'],
                    'branding_valid' => $responseJson['brandingValid'],
                    'license_expired' => $responseJson['licenseExpired'],
                    'last_agreement_date' => $responseJson['lastAgreementDate'],
                    'last_agreement_update' => $responseJson['lastAgreementUpdate'],
                    'invalid_add_ons' => $responseJson['invalidAddOns'],
                    'installable_add_ons' => $responseJson['installableAddOns'],
                    'available_updates' => $responseJson['availableUpdates'],
                    'response_data' => $responseJson
                ];
            }
            else
            {
                if (!isset($e))
                {
                    $e = new \Exception('');
                }
                $this->logCheckFailure($e, "Unexpected result, starting '" . substr($contents, 0, 100) . "' // ");
                return null;
            }
        }
        catch (\GuzzleHttp\Exception\RequestException $e)
        {
            $this->logCheckFailure($e);
            return null;
        }

        if ($errorCode)
        {
            \XF::logError('XenForo upgrade check failed: ' . $errorMessage);
        }

        try
        {
            $upgradeCheck = $this->app->em()->create('XF:UpgradeCheck');
            $upgradeCheck->bulkSet($checkData);
            $upgradeCheck->error_code = $errorCode ?: null;
            $upgradeCheck->save();
        }
        catch (\Exception $e)
        {
            \XF::logException($e, false, "Error saving upgrade check result:");
            return null;
        }

        return $upgradeCheck;
    }

    protected function logCheckFailure(\Exception $e, $extraMessage = '')
    {
        \XF::logException($e, false, "XenForo upgrade check failed: $extraMessage ");
    }
}

this dont work, so ignore it
 
Last edited:

SNap!

Collaborate
Collaborate
Registered
Joined
Mar 17, 2022
Messages
561
Points
253

Reputation:

Hey There,
I did the update from 2.2.2 to 2.2.8,
even though I unchecked the " Check For Stable Versions" box
I still get this error,

Code:
XenForo upgrade check failed: cURL error 6: Could not resolve host: upgrade-check.json (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:185

is there a current fix for this?
Redbearsrc\XF\Service\Upgrade\Checker.php

remove Line 148

and the error in log is gone

PHP:
\XF::logException($e, false, "XenForo upgrade check failed: $extraMessage ");
 

supergord1

New member
Registered
Joined
Oct 11, 2019
Messages
1
Points
11

Reputation:

src\XF\Service\Upgrade\Checker.php

remove Line 148

and the error in log is gone

PHP:
\XF::logException($e, false, "XenForo upgrade check failed: $extraMessage ");
SNap!it is better to set a return statement at the start of setup() and check() and the whole update check is not even performed, instead of just removing the error messages and trying to let it call home
 

MesterPerfect

Well-known member
Registered
Joined
Feb 1, 2019
Messages
89
Points
43

Reputation:

SNap!

Collaborate
Collaborate
Registered
Joined
Mar 17, 2022
Messages
561
Points
253

Reputation:

ENXF NET

Administrator
Staff member
Administrator
Moderator
+Lifetime VIP+
S.V.I.P.S Member
S.V.I.P Member
V.I.P Member
Collaborate
Registered
Joined
Nov 13, 2018
Messages
19,954
Points
823

Reputation:

ENXF NET updated XenForo 2.2.8 Released Full | XenForo 2.2 ENXF Nulled with a new update entry:

2.2.9

XenForo 2.2.9 Released​

XenForo 2.2.9 is now available for all licensed customers to download. We strongly recommend that all customers running previous versions of XenForo 2.2 upgrade to this release to benefit from increased stability.

In addition to the usual bug fixes and improvements, we've continued to improve compatibility with PHP 8.1 and added support for self-hosted licenses to more easily sign outgoing emails with...

Read the rest of this update entry...
 

dddd

Well-known member
Registered
Joined
Mar 2, 2022
Messages
68
Points
18

Reputation:

Can someone explain how to upgrade Xenforo? Their official documentation contradicts itself, they tell you to overwrite the files, but on the next line they warn you that you should "merge" the files instead of "replacing their contents". What the fuck do they even mean with that shit?
Do I just overwrite the old files with the new ones and run the installation/upgrade process?
 

SNap!

Collaborate
Collaborate
Registered
Joined
Mar 17, 2022
Messages
561
Points
253

Reputation:

Can someone explain how to upgrade Xenforo? Their official documentation contradicts itself, they tell you to overwrite the files, but on the next line they warn you that you should "merge" the files instead of "replacing their contents". What the fuck do they even mean with that shit?
Do I just overwrite the old files with the new ones and run the installation/upgrade process?
ddddso if you board is run without any troubles, so dont upgrade.

yeah overwrite your files with new and upgrade, but remeber your skin, maybe need some changes to run clean. as i noticed PAGE_CONTAINER Template have some changes.

HTML:
The following public templates have had changes:
PAGE_CONTAINER
alert_user_report_rejected
alert_user_report_resolved
attachment_macros
browser_warning_macros
core_block.less
core_datalist.less
core_menu.less
core_tab.less
editor_base.less
login_password_confirm
member.less
message.less
page_nav
poll_create
post_article_macros
progress_bar.less
progress_bar_macros
push_user_post_merge
push_user_report_rejected
push_user_report_resolved
thread_preview
widget_html
 
Last edited:
View previous replies…

dddd

Well-known member
Registered
Joined
Mar 2, 2022
Messages
68
Points
18

Reputation:

so if you board is run without any troubles, so dont upgrade.

yeah overwrite your files with new and upgrade, but remeber your skin, maybe need some changes to run clean. as i noticed PAGE_CONTAINER Template have some changes.

HTML:
The following public templates have had changes:
PAGE_CONTAINER
alert_user_report_rejected
alert_user_report_resolved
attachment_macros
browser_warning_macros
core_block.less
core_datalist.less
core_menu.less
core_tab.less
editor_base.less
login_password_confirm
member.less
message.less
page_nav
poll_create
post_article_macros
progress_bar.less
progress_bar_macros
push_user_post_merge
push_user_report_rejected
push_user_report_resolved
thread_preview
widget_html
SNap!what they meant with the "merge" warning is; keep all the old files, and overwrite.

I have ran the update and the only templates I had to fix were the PAGE.CONTAINER from every style, I just reverted them all back and re-removed the copyright/branding/rss again.
 

SNap!

Collaborate
Collaborate
Registered
Joined
Mar 17, 2022
Messages
561
Points
253

Reputation:

what they meant with the "merge" warning is; keep all the old files, and overwrite.

I have ran the update and the only templates I had to fix were the PAGE.CONTAINER from every style, I just reverted them all back and re-removed the copyright/branding/rss again.
ddddwhy not remove branding via PHP ? so you dont need so edit templates for branding, on merging maybe skin is working. no clue if they have important changes into templates. Why you dont make backup and test it local =?
 

dddd

Well-known member
Registered
Joined
Mar 2, 2022
Messages
68
Points
18

Reputation:

why not remove branding via PHP ? so you dont need so edit templates for branding, on merging maybe skin is working. no clue if they have important changes into templates. Why you dont make backup and test it local =?
SNap!how do I do that?
 

SNap!

Collaborate
Collaborate
Registered
Joined
Mar 17, 2022
Messages
561
Points
253

Reputation:

dddd
PHP:
    public static function getCopyrightHtml()
    {
        return 'Community platform by XenForo<sup>&reg;</sup> <span class="copyright">&copy; 2010-2022 XenForo Ltd.</span>';
    }

    public static function getCopyrightHtmlAcp()
    {
        return '<a class="u-concealed" dir="ltr" target="_blank" rel="sponsored noopener" data-xf-init="tooltip" title="&copy; 2010-2022 XenForo Ltd.">Community platform by XenForo<sup>&reg;</sup></a>';
    }

delete the lines like

PHP:
    public static function getCopyrightHtml()
    {
        return '';
    }

    public static function getCopyrightHtmlAcp()
    {
        return '';
    }
 
Top