Patching Artbee’s Jupiter Theme to Fix Broken Backend

Published by John on May 14, 2019 Under Wordpress

**Disclaimer: This post probably has a very limited useful lifespan, so if you reach this after 05/14/2019 and are experiencing a similar issue, it may not be related!**

Recently, a client contacted me because the backend of their wordpress website was inaccessible. They are using the Jupiter Theme by Artbee’s and the front end of the website loaded as expected, but when they went to wp-admin, it timed out or was very slow to load.

I spent a lot of time checking the server to make sure it wasn’t being attacked via a brute force or other network attack, as well as checking available memory, restarting database and web-server, etc.

Ultimately, I decided to head over to artbee’s support site to see if they had any notifications and found that it was doing the same thing, which lead me to believe that the client’s website was attempting to contact artbee’s website and the timeout/delay we were seeing was a result of their website being down/slow.

To test my hypothesis, I attempted to identify all the times the artbee’s theme calls home and comment out or disable them.

This seems to have worked and my client was able to access the backend of their wordpress website again.

These are the files I modified:

File: /wp-content/themes/jupiter/functions.php

Edit: In the ‘helpers()’ function, around line 237, comment out the survey-management.php line as shown below:

        public function helpers() {
                include_once THEME_HELPERS . '/global.php';
                include_once THEME_HELPERS . '/class-mk-fs.php';
                include_once THEME_HELPERS . '/class-logger.php';
                //include_once THEME_HELPERS . '/survey-management.php';
                include_once THEME_HELPERS . '/db-management.php';
                include_once THEME_HELPERS . '/logic-helpers.php';
                include_once THEME_HELPERS . '/svg-icons.php';
                include_once THEME_HELPERS . '/image-resize.php';
                include_once THEME_HELPERS . '/template-part-helpers.php';
                include_once THEME_HELPERS . '/wp_head.php';
                include_once THEME_HELPERS . '/wp_footer.php';
                include_once THEME_HELPERS . '/schema-markup.php';
                include_once THEME_HELPERS . '/wp_query.php';
                include_once THEME_HELPERS . '/send-email.php';
                include_once THEME_HELPERS . '/captcha.php';
                include_once THEME_HELPERS . '/woocommerce.php';
        }

File: /wp-content/themes/jupiter/framework/admin/control-panel/logic/functions.php

Edit: in the ‘ __construct’ function, around line #15, comment out the ‘mk_verify_envato_hosted()’ line as shown below:

        public function __construct() {

                $this->store_theme_current_version();
                $this->api_url = 'https://artbees.net/api/v1/';
                add_filter( 'upload_mimes', array( &$this, 'mime_types' ) );
                add_filter( 'getimagesize_mimes_to_exts', array( &$this, 'mime_to_ext' ) );
                add_action( 'wp_ajax_mka_cp_load_pane_action', array( & $this, 'mka_cp_load_pane_action' ) );
                add_action( 'wp_ajax_mka_cp_register_revoke_api_action', array( &$this, 'mka_cp_register_revoke_api_action' ) );
                add_action( 'wp_ajax_abb_save_image_sizes', array( &$this, 'abb_save_image_sizes' ) );
                add_action( 'wp_ajax_abb_get_icon_list_action', array( &$this, 'abb_get_icon_list_action' ) );
                //$this->mk_verify_envato_hosted();
        }

File: /wp-content/themes/jupiter/framework/admin/control-panel/logic/updates-class.php

Edit: In the ‘__construct’ function, around line #22, add a return so the function doesn’t do anything:

 function __construct() {

                return;

                // Enable update check on every request. Normally you don't need this! This is for testing only!
                // set_site_transient('update_themes', null).
                $this->api_url = 'https://artbees.net/api/v1/';
                // $this->api_url = 'http://localhost/artbees-api/v1/';
                $stored_api_key = get_option( 'artbees_api_key' );

                /*
         * This hook allows you to create custom handlers for your own custom AJAX requests.
         * The wp_ajax_ hook follows the format "wp_ajax_$youraction", where $youraction is your AJAX request's 'action' property.
        */
                add_action(
                        'wp_ajax_mk_dismiss_update_notice', array(
                                &$this,
                                'mk_dismiss_update_notice',
                        )
                );

                $theme_data = $this->get_theme_data();
                $theme_base = $theme_data['theme_base'];

                if ( ! $this->is_verified_to_update_product( $stored_api_key ) ) {
                        add_action( 'after_theme_row_' . $theme_base, array( &$this, 'unauthorized_update_notice' ), 10, 3 );
                }

        }

File: /wp-content/themes/jupiter/framework/admin/general/class-mk-live-support.php

Edit: Add a return to the file, at around line #13, so that the file doesn’t do anything


<?php
/**
 * This file contains only mk_live_support class.
 *
 * @package jupiter/framework/admin/general
 */

if ( ! defined( 'THEME_FRAMEWORK' ) ) {
        exit( 'No direct script access allowed' );
}


return;

Disclaimer

This is likely a temporary issue, so if you find this post too much after 05/14/2019, it probably is a different issue.

No guarantees of effectiveness or that this won’t break anything, but it seems to have fixed the issue for my client.


No Comments |

Add a Comment