HEX
Server: Apache/2
System: Linux vps33975.sdns.vn 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64
User: mafada (1031)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/mafada/public_html/wp-content/plugins/enhanced-text-widget/analyst/main.php
<?php

require_once 'sdk_resolver.php';

/**
 * Initialize analyst "private"
 *
 * @param array $options
*/
if (!function_exists('___analyst_init')) {
  function ___analyst_init($options) {
    $capabilities = [
      'activate_plugins',
      'edit_plugins',
      'install_plugins',
      'update_plugins',
      'delete_plugins',
      'manage_network_plugins',
      'upload_plugins'
    ];
    
    // Allow if has any of above permissions
    $hasPerms = false;
    foreach ($capabilities as $i => $cap) {
      if (current_user_can($cap)) {
        $hasPerms = true;
        break;
      }
    }
    
    if ($hasPerms == false) {
      return;
    }
    
    // Try resolve latest supported SDK
    // In case resolving is failed exit the execution
    try {
      analyst_resolve_sdk($options['base-dir']);
    } catch (Exception $exception) {
      // error_log('[ANALYST] Cannot resolve any supported SDK');
      return;
    }

    try {
      global /** @var Analyst\Analyst $analyst */
      $analyst;

      // Set global instance of analyst
      if (!$analyst) {
        $analyst = Analyst\Analyst::getInstance();
      }

      $analyst->registerAccount(new Account\Account($options['client-id'], $options['client-secret'], $options['base-dir']));
    } catch (Exception $e) {
      // error_log('Analyst SDK receive an error: [' . $e->getMessage() . '] Please contact our support at support@analyst.com');
    }
  }
}
  
  
if (!function_exists('analyst_init')) {
	function analyst_init($__options) {
    if (did_action('init') > 0 && function_exists('current_user_can')) ___analyst_init($__options);
    else {
      add_action('init', function () use ($__options) {
        ___analyst_init($__options);
      }, -1000);
    }
	}
}