All in One Support Button + Callback Request. WhatsApp, Messenger, Telegram, LiveChat and ...

All in One Support Button + Callback Request. WhatsApp, Messenger, Telegram, LiveChat and more... v.2.2.7

No permission to download

tanierlyons

Well-known member
Staff member
Administrative
Moderator
May 24, 2018
75,065
111,714
120

tanierlyons

Well-known member
Staff member
Administrative
Moderator
May 24, 2018
75,065
111,714
120

tanierlyons

Well-known member
Staff member
Administrative
Moderator
May 24, 2018
75,065
111,714
120
Bro It's asking purchase code, not nulled I guess.
just go to ar-contactus\classes\ArContactUsUpdater.php
open ArContactUsUpdater.php and remove all codes and paste these codes
PHP:
<?php

class ArContactUsUpdater
{
    const ACTIVATION_URL = 'https://api.areama.net/plugins/activate';
    const UPDATE_CHECK_URL = 'https://api.areama.net/plugins/update';
    const DEACTIVATE_URL = 'https://api.areama.net/plugins/deactivate';
    
    private $f = null;
    private $owner = null;


    public function __construct($owner = null)
    {
        $this->owner = $owner;
        add_filter('http_request_args', array($this, 'updatesExclude'), 5, 2);
    }
    
    public function updatesExclude($r, $url)
    {
        if (0 !== strpos($url, 'http://api.wordpress.org/plugins/update-check')){
            return $r; // Not a plugin update request.
        }
    $plugins = unserialize($r['body']['plugins']);
    unset($plugins->plugins[plugin_basename(AR_CONTACTUS_PLUGIN_FILE)]);
    unset($plugins->active[array_search(plugin_basename(AR_CONTACTUS_PLUGIN_FILE), $plugins->active)]);
    $r['body']['plugins'] = serialize($plugins);
    return $r;
    }
    
    //Returns current plugin info.
    function getPluginInfo($i) {
        $this_file = AR_CONTACTUS_PLUGIN_FILE;
        if (!function_exists('get_plugins')){
            require_once(ABSPATH . 'wp-admin/includes/plugin.php');
        }
        $plugin_folder = get_plugins( '/' . plugin_basename(dirname($this_file)));
        $plugin_file = basename(($this_file));
        
        return $plugin_folder[$plugin_file][$i];
    }
    
    public function getActivationUrl($activate = true)
    {
        $params = http_build_query(array(
            'plugin' => AR_CONTACTUS_PLUGIN_NAME,
            'version' => AR_CONTACTUS_VERSION,
            'domain' => parse_url(get_bloginfo('url'), PHP_URL_HOST),
            'purchaseCode' => get_option('AR_CONTACTUS_PURCHASE_CODE', ''),
            'activate' => (int)$activate,
            'channel' => get_option('ARCU_CHANNEL', 'prod')
        ));
        return self::ACTIVATION_URL . '?' . $params;
    }
    
    public function getUpdateUrl()
    {
        $params = http_build_query(array(
            'plugin' => AR_CONTACTUS_PLUGIN_NAME,
            'version' => AR_CONTACTUS_VERSION,
            'domain' => parse_url(get_bloginfo('url'), PHP_URL_HOST),
            'purchaseCode' => get_option('AR_CONTACTUS_PURCHASE_CODE', ''),
            'channel' => get_option('ARCU_CHANNEL', 'prod')
        ));
        return self::UPDATE_CHECK_URL . '?' . $params;
    }
    
    public function getDeactivateUrl()
    {
        $params = http_build_query(array(
            'plugin' => AR_CONTACTUS_PLUGIN_NAME,
            'version' => AR_CONTACTUS_VERSION,
            'domain' => parse_url(get_bloginfo('url'), PHP_URL_HOST),
            'purchaseCode' => get_option('AR_CONTACTUS_PURCHASE_CODE', '')
        ));
        return self::DEACTIVATE_URL . '?' . $params;
    }
    
    public function deactivate()
    {
        $url = $this->getDeactivateUrl();
        $response = wp_remote_get($url);
        
        if (($response instanceof WP_Error) || (is_array($response) && isset($response['response']) && isset($response['response']['code']) && $response['response']['code'] != 200)) {
            return array(
                'success' => 0,
                'error' => __('Error deactivating plugin.', 'ar-contactus'),
                'res' => $response
            );
        }
        if ((is_array($response) && isset($response['response']) && isset($response['response']['code']) && $response['response']['code'] == 200)) {
            $data = json_decode($response['body']);
            if (isset($data->error) && $data->error) {
                return array(
                    'success' => 0,
                    'error' => $data->message? $data->message : __('Error deactivating plugin. Please check your purchase code.', 'ar-contactus'),
                    'res' => $response
                );
            } elseif(isset($data->success) && $data->success == 1) {
                return array(
                    'success' => 1,
                );
            }
        }
        return array(
            'success' => 0,
            'error' => __('Error deactivating plugin.', 'ar-contactus'),
            'res' => $response
        );
    }
    
    public function isActivated()
    {
        return $this->activate(false);
    }
    
    public function activate($activate = true)
    {
                return array(
                    'success' => 1,
                );
    }
    
    public function checkUpdate($cleanUp = false) {
    $this_file = AR_CONTACTUS_PLUGIN_FILE;
    $update_check = $this->getUpdateUrl();
        $plugin_folder = plugin_basename(dirname($this_file));
    $plugin_file = basename(($this_file));
        if (defined('WP_INSTALLING')) {
            return false;
        }
    $response = wp_remote_get($update_check);
        
        if (($response instanceof WP_Error) || (is_array($response) && isset($response['response']) && isset($response['response']['code']) && $response['response']['code'] != 200)) {
            return false;
        }
        $data = json_decode($response['body']);
        if (isset($data->error) && $data->error){
            return false;
        }
        if (!isset($data->version) || !isset($data->url)){
            return false;
        }
        $currentVersion = $this->getPluginInfo('Version');
        $newVersion = $data->version;
        $url = $data->url;
        if (version_compare($newVersion, $currentVersion, '<=') && !$cleanUp){
            return false;
        }
    $plugin_transient = get_site_transient('update_plugins');
    $a = array(
            'slug' => $plugin_folder,
            'new_version' => $newVersion,
            'url' => $this->getPluginInfo("AuthorURI"),
            'package' => $url
    );
    $o = (object) $a;
        if (!empty($plugin_transient)) {
            if (version_compare($newVersion, $currentVersion, '<=') && isset($plugin_transient->response[$plugin_folder.'/'.$plugin_file])) {
                unset($plugin_transient->response[$plugin_folder.'/'.$plugin_file]);
                set_site_transient('update_plugins', $plugin_transient);
                return true;
            }
            $plugin_transient->response[$plugin_folder.'/'.$plugin_file] = $o;
            set_site_transient('update_plugins', $plugin_transient);
        }
    }
    
    public function migrate()
    {
        $oldVersion = $this->getOldVersion();
        $this->log('----- BEGIN -----' . PHP_EOL);
        $this->log('Old version ' . $oldVersion . PHP_EOL);
        if ($oldVersion === null){
            $this->updateVersion(AR_CONTACTUS_VERSION);
            return false;
        }
        
        $d = opendir(AR_CONTACTUS_PLUGIN_DIR . 'upgrade');
        $files = array();
        while ($file = readdir($d)) {
            if (is_file(AR_CONTACTUS_PLUGIN_DIR . 'upgrade/' . $file) && is_readable(AR_CONTACTUS_PLUGIN_DIR . 'upgrade/' . $file)) {
                $files[] = $file;
            }
        }
        
        if ($files) {
            sort($files);
            $this->log('Migrations found: ' . PHP_EOL);
            foreach ($files as $file){
                $this->log($file . PHP_EOL);
                $className = pathinfo($file, PATHINFO_FILENAME);
                require_once AR_CONTACTUS_PLUGIN_DIR . 'upgrade/' . $file;
                if (class_exists($className)){
                    $migration = new $className();
                    if (version_compare($migration->getVersion(), $oldVersion, '>')){
                        $this->log('Applying migration ' . $file);
                        if ($migration->upgrade()){
                            $this->log(' :: OK' . PHP_EOL);
                            $this->updateVersion($migration->getVersion());
                            $this->log('Store migration version ' . $migration->getVersion() . PHP_EOL);
                        }
                    }
                }
            }
        }
        if ($this->owner) {
            $this->owner->compileCSS();
            $this->owner->compileCSS(true);
        }
        $this->log('Store plugin version ' . $this->getPluginInfo('Version') . PHP_EOL);
        $this->updateVersion($this->getPluginInfo('Version'));
        $this->log('----- END -----' . PHP_EOL . PHP_EOL);
        $this->closeFile();
    }
    
    protected function getFileHandle()
    {
        if ($this->f === null) {
            $this->f = fopen(AR_CONTACTUS_PLUGIN_DIR . 'upgrade.log', 'a+');
        }
        return $this->f;
    }

    protected function closeFile()
    {
        if ($this->f !== null) {
            fclose($this->f);
            $this->f = null;
        }
    }

    public function log($message)
    {
        $line = '[' . date('Y-m-d H:i:s') . ']  ' . $message;
        fwrite($this->getFileHandle(), $line);
    }
    
    public function getOldVersion()
    {
        return get_option('arcu_version', null);
    }
    
    public function updateVersion($version)
    {
        update_option('arcu_version', $version);
    }
}
 
  • Like
Reactions: ema2003

johnwick

Well-known member
Null Master
Trusted Uploader
Aug 27, 2019
552
826
93
New York
web.hktech.dev
just go to ar-contactus\classes\ArContactUsUpdater.php
open ArContactUsUpdater.php and remove all codes and paste these codes
PHP:
<?php

class ArContactUsUpdater
{
    const ACTIVATION_URL = 'https://api.areama.net/plugins/activate';
    const UPDATE_CHECK_URL = 'https://api.areama.net/plugins/update';
    const DEACTIVATE_URL = 'https://api.areama.net/plugins/deactivate';
   
    private $f = null;
    private $owner = null;


    public function __construct($owner = null)
    {
        $this->owner = $owner;
        add_filter('http_request_args', array($this, 'updatesExclude'), 5, 2);
    }
   
    public function updatesExclude($r, $url)
    {
        if (0 !== strpos($url, 'http://api.wordpress.org/plugins/update-check')){
            return $r; // Not a plugin update request.
        }
    $plugins = unserialize($r['body']['plugins']);
    unset($plugins->plugins[plugin_basename(AR_CONTACTUS_PLUGIN_FILE)]);
    unset($plugins->active[array_search(plugin_basename(AR_CONTACTUS_PLUGIN_FILE), $plugins->active)]);
    $r['body']['plugins'] = serialize($plugins);
    return $r;
    }
   
    //Returns current plugin info.
    function getPluginInfo($i) {
        $this_file = AR_CONTACTUS_PLUGIN_FILE;
        if (!function_exists('get_plugins')){
            require_once(ABSPATH . 'wp-admin/includes/plugin.php');
        }
        $plugin_folder = get_plugins( '/' . plugin_basename(dirname($this_file)));
        $plugin_file = basename(($this_file));
       
        return $plugin_folder[$plugin_file][$i];
    }
   
    public function getActivationUrl($activate = true)
    {
        $params = http_build_query(array(
            'plugin' => AR_CONTACTUS_PLUGIN_NAME,
            'version' => AR_CONTACTUS_VERSION,
            'domain' => parse_url(get_bloginfo('url'), PHP_URL_HOST),
            'purchaseCode' => get_option('AR_CONTACTUS_PURCHASE_CODE', ''),
            'activate' => (int)$activate,
            'channel' => get_option('ARCU_CHANNEL', 'prod')
        ));
        return self::ACTIVATION_URL . '?' . $params;
    }
   
    public function getUpdateUrl()
    {
        $params = http_build_query(array(
            'plugin' => AR_CONTACTUS_PLUGIN_NAME,
            'version' => AR_CONTACTUS_VERSION,
            'domain' => parse_url(get_bloginfo('url'), PHP_URL_HOST),
            'purchaseCode' => get_option('AR_CONTACTUS_PURCHASE_CODE', ''),
            'channel' => get_option('ARCU_CHANNEL', 'prod')
        ));
        return self::UPDATE_CHECK_URL . '?' . $params;
    }
   
    public function getDeactivateUrl()
    {
        $params = http_build_query(array(
            'plugin' => AR_CONTACTUS_PLUGIN_NAME,
            'version' => AR_CONTACTUS_VERSION,
            'domain' => parse_url(get_bloginfo('url'), PHP_URL_HOST),
            'purchaseCode' => get_option('AR_CONTACTUS_PURCHASE_CODE', '')
        ));
        return self::DEACTIVATE_URL . '?' . $params;
    }
   
    public function deactivate()
    {
        $url = $this->getDeactivateUrl();
        $response = wp_remote_get($url);
       
        if (($response instanceof WP_Error) || (is_array($response) && isset($response['response']) && isset($response['response']['code']) && $response['response']['code'] != 200)) {
            return array(
                'success' => 0,
                'error' => __('Error deactivating plugin.', 'ar-contactus'),
                'res' => $response
            );
        }
        if ((is_array($response) && isset($response['response']) && isset($response['response']['code']) && $response['response']['code'] == 200)) {
            $data = json_decode($response['body']);
            if (isset($data->error) && $data->error) {
                return array(
                    'success' => 0,
                    'error' => $data->message? $data->message : __('Error deactivating plugin. Please check your purchase code.', 'ar-contactus'),
                    'res' => $response
                );
            } elseif(isset($data->success) && $data->success == 1) {
                return array(
                    'success' => 1,
                );
            }
        }
        return array(
            'success' => 0,
            'error' => __('Error deactivating plugin.', 'ar-contactus'),
            'res' => $response
        );
    }
   
    public function isActivated()
    {
        return $this->activate(false);
    }
   
    public function activate($activate = true)
    {
                return array(
                    'success' => 1,
                );
    }
   
    public function checkUpdate($cleanUp = false) {
    $this_file = AR_CONTACTUS_PLUGIN_FILE;
    $update_check = $this->getUpdateUrl();
        $plugin_folder = plugin_basename(dirname($this_file));
    $plugin_file = basename(($this_file));
        if (defined('WP_INSTALLING')) {
            return false;
        }
    $response = wp_remote_get($update_check);
       
        if (($response instanceof WP_Error) || (is_array($response) && isset($response['response']) && isset($response['response']['code']) && $response['response']['code'] != 200)) {
            return false;
        }
        $data = json_decode($response['body']);
        if (isset($data->error) && $data->error){
            return false;
        }
        if (!isset($data->version) || !isset($data->url)){
            return false;
        }
        $currentVersion = $this->getPluginInfo('Version');
        $newVersion = $data->version;
        $url = $data->url;
        if (version_compare($newVersion, $currentVersion, '<=') && !$cleanUp){
            return false;
        }
    $plugin_transient = get_site_transient('update_plugins');
    $a = array(
            'slug' => $plugin_folder,
            'new_version' => $newVersion,
            'url' => $this->getPluginInfo("AuthorURI"),
            'package' => $url
    );
    $o = (object) $a;
        if (!empty($plugin_transient)) {
            if (version_compare($newVersion, $currentVersion, '<=') && isset($plugin_transient->response[$plugin_folder.'/'.$plugin_file])) {
                unset($plugin_transient->response[$plugin_folder.'/'.$plugin_file]);
                set_site_transient('update_plugins', $plugin_transient);
                return true;
            }
            $plugin_transient->response[$plugin_folder.'/'.$plugin_file] = $o;
            set_site_transient('update_plugins', $plugin_transient);
        }
    }
   
    public function migrate()
    {
        $oldVersion = $this->getOldVersion();
        $this->log('----- BEGIN -----' . PHP_EOL);
        $this->log('Old version ' . $oldVersion . PHP_EOL);
        if ($oldVersion === null){
            $this->updateVersion(AR_CONTACTUS_VERSION);
            return false;
        }
       
        $d = opendir(AR_CONTACTUS_PLUGIN_DIR . 'upgrade');
        $files = array();
        while ($file = readdir($d)) {
            if (is_file(AR_CONTACTUS_PLUGIN_DIR . 'upgrade/' . $file) && is_readable(AR_CONTACTUS_PLUGIN_DIR . 'upgrade/' . $file)) {
                $files[] = $file;
            }
        }
       
        if ($files) {
            sort($files);
            $this->log('Migrations found: ' . PHP_EOL);
            foreach ($files as $file){
                $this->log($file . PHP_EOL);
                $className = pathinfo($file, PATHINFO_FILENAME);
                require_once AR_CONTACTUS_PLUGIN_DIR . 'upgrade/' . $file;
                if (class_exists($className)){
                    $migration = new $className();
                    if (version_compare($migration->getVersion(), $oldVersion, '>')){
                        $this->log('Applying migration ' . $file);
                        if ($migration->upgrade()){
                            $this->log(' :: OK' . PHP_EOL);
                            $this->updateVersion($migration->getVersion());
                            $this->log('Store migration version ' . $migration->getVersion() . PHP_EOL);
                        }
                    }
                }
            }
        }
        if ($this->owner) {
            $this->owner->compileCSS();
            $this->owner->compileCSS(true);
        }
        $this->log('Store plugin version ' . $this->getPluginInfo('Version') . PHP_EOL);
        $this->updateVersion($this->getPluginInfo('Version'));
        $this->log('----- END -----' . PHP_EOL . PHP_EOL);
        $this->closeFile();
    }
   
    protected function getFileHandle()
    {
        if ($this->f === null) {
            $this->f = fopen(AR_CONTACTUS_PLUGIN_DIR . 'upgrade.log', 'a+');
        }
        return $this->f;
    }

    protected function closeFile()
    {
        if ($this->f !== null) {
            fclose($this->f);
            $this->f = null;
        }
    }

    public function log($message)
    {
        $line = '[' . date('Y-m-d H:i:s') . ']  ' . $message;
        fwrite($this->getFileHandle(), $line);
    }
   
    public function getOldVersion()
    {
        return get_option('arcu_version', null);
    }
   
    public function updateVersion($version)
    {
        update_option('arcu_version', $version);
    }
}
Yes this fixed the purchase code notice, but in the plugin section forms, email requests & call back requests is not working.
 

tanierlyons

Well-known member
Staff member
Administrative
Moderator
May 24, 2018
75,065
111,714
120
Tomz updated All in One Support Button + Callback Request. WhatsApp, Messenger, Telegram, LiveChat and ... with a new update entry:

Contact us all-in-one button v2.2.0

Download Contact us all-in-one button v2.2.0 with callback request feature Nulled Free
#[2.2.0] - 2021-11-09
### Added

- Hide main widget button on page loads option

### Fixed
- Main button icons slider animation
- custom forms (inserted by shortcodes)
- admin performance (update check)
- translation files updated

Read the rest of this update entry...
 
  • Love
Reactions: arvien

shankey

New member
Mar 20, 2019
26
17
3
This plugin is activated but the section forms, email requests & call back requests is not working. Its showing the error "You are not allowed to access this page"..Anybody knows how to fix this? @Tomz
 

KaoVN

Well-known member
Null Master
Trusted Uploader
Oct 15, 2019
627
722
100
KaoVN

All in One Support Button v2.2.1​


Status: N/A (Unchecked / Untouched)
Notice: Try & test by yourself before asking for more information. Please wait for someone to upload a better patch if not work.
 

Attachments

  • aio-support-button-wp-callback-message-live-chat-v2.2.1n.zip
    1.7 MB · Views: 565

tanierlyons

Well-known member
Staff member
Administrative
Moderator
May 24, 2018
75,065
111,714
120

Latest posts

Forum statistics

Threads
69,228
Messages
908,447
Members
237,065
Latest member
strikerx

About us

  • Our community has been around for many years and pride ourselves on offering unbiased, critical discussion among people of all different backgrounds. We are working every day to make sure our community is one of the best.

Quick Navigation

User Menu