[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.117.183.206: ~ $
<?php

if (!defined('ABSPATH')) exit;
if (!class_exists('BVWPActLog')) :

	class BVWPActLog {

		public static $actlog_table = 'activities_store';
		public $db;
		public $settings;
		public $bvinfo;
		public $request_id;
		public $ip_header;
		public $ignored_events;

		public function __construct($db, $settings, $info, $config) {
			$this->db = $db;
			$this->settings = $settings;
			$this->bvinfo = $info;
			$this->request_id = MCInfo::getRequestID();
			$this->ip_header = array_key_exists('ip_header', $config) ? $config['ip_header'] : false;
			$this->ignored_events = array_key_exists('ignored_events', $config) ? $config['ignored_events'] : array();
		}

		function init() {
			$this->add_actions_and_listeners();
		}

		function get_post($post_id) {
			$post = get_post($post_id);
			$data = array('id' => $post_id);
			if (!empty($post)) {
				$data['title'] = $post->post_title;
				$data['status'] = $post->post_status;
				$data['type'] = $post->post_type;
				$data['url'] = get_permalink($post_id);
				$data['date'] = $post->post_date;
			}
			return $data;
		}

		function get_comment($comment_id) {
			$comment = get_comment($comment_id);
			$data = array('id' => $comment_id);
			if (!empty($comment)) {
				$data['author'] = $comment->comment_author;
				$data['post_id'] = $comment->comment_post_ID;
			}
			return $data;
		}

		function get_term($term_id) {
			$term = get_term($term_id);
			$data = array('id' => $term_id);
			if (!empty($term)) {
				$data['name'] = $term->name;
				$data['slug'] = $term->slug;
				$data['taxonomy'] = $term->taxonomy;
			}
			return $data;
		}

		function get_user($user_id) {
			$user = get_userdata($user_id);
			$data = array('id' => $user_id);
			if (!empty($user)) {
				$data['username'] = $user->user_login;
				$data['email'] = $user->user_email;
				$data['role'] = $user->roles;
			}
			return $data;
		}

		function get_blog($blog_id) {
			$blog = get_blog_details($blog_id);
			$data = array('id' => $blog_id);
			if (!empty($blog)) {
				$data['name'] = $blog->blogname;
				$data['url'] = $blog->path;
			}
			return $data;
		}

		function wc_get_attribute($attribute_id, $attribute_data = null) {
			$data = array('id' => $attribute_id);
			if (!is_null($attribute_data) && is_array($attribute_data)) {
				$data['name'] = $attribute_data['attribute_label'];
				$data['slug'] = $attribute_data['attribute_name'];
			} else {
				$attribute = wc_get_attribute($attribute_id);
				if (!empty($attribute)) {
					$data['name'] = $attribute->name;
					$data['slug'] = substr($attribute->slug, 3);
				}
			}
			return $data;
		}

		function wc_get_tax_rate($tax_rate_id, $tax_rate) {
			$data = array('id' => $tax_rate_id);
			if (!empty($tax_rate)) {
				$data['name'] = array_key_exists('tax_rate_name', $tax_rate) ? $tax_rate['tax_rate_name'] : '';
				$data['country'] = array_key_exists('tax_rate_country', $tax_rate) ? $tax_rate['tax_rate_country'] : '';
				$data['rate'] = array_key_exists('tax_rate', $tax_rate) ? $tax_rate['tax_rate'] : '';
			}
			return $data;
		}

		function get_ip($ipHeader) {
			$ip = '127.0.0.1';
			if ($ipHeader && is_array($ipHeader)) {
				if (array_key_exists($ipHeader['hdr'], $_SERVER)) {
					$_ips = preg_split("/(,| |\t)/", MCHelper::getRawParam('SERVER', $ipHeader['hdr']));
					if (array_key_exists(intval($ipHeader['pos']), $_ips)) {
						$ip = $_ips[intval($ipHeader['pos'])];
					}
				}
			} else if (array_key_exists('REMOTE_ADDR', $_SERVER)) {
				$ip = MCHelper::getRawParam('SERVER', 'REMOTE_ADDR');
			}

			$ip = trim($ip);
			if (MCHelper::safePregMatch('/^\[([0-9a-fA-F:]+)\](:[0-9]+)$/', $ip, $matches)) {
				$ip = $matches[1];
			} elseif (MCHelper::safePregMatch('/^([0-9.]+)(:[0-9]+)$/', $ip, $matches)) {
				$ip = $matches[1];
			}

			return $ip;
		}

		function add_activity($event_data) {
			if (!function_exists('wp_get_current_user')) {
				@include_once(ABSPATH . "wp-includes/pluggable.php");
			}

			$user = wp_get_current_user();
			$values = array();
			if (!empty($user)) {
				$values["user_id"] = $user->ID;
				$values["username"] = $user->user_login;
			}
			$values["request_id"] = $this->request_id;
			$values["site_id"] = get_current_blog_id();
			$values["ip"] = $this->get_ip($this->ip_header);
			$values["event_type"] = current_filter();
			$values["event_data"] = maybe_serialize($event_data);
			$values["time"] = time();
			$this->db->replaceIntoBVTable(BVWPActLog::$actlog_table, $values);
		}

		function is_key_ignored($ignored_keys, $value) {
			$is_ignored = false;
			if (array_key_exists("post_types_regex", $ignored_keys)) {
				foreach ($ignored_keys['post_types_regex'] as $val) {
					if (MCHelper::safePregMatch($val, $value)) {
						return true;
					}
				}
			}
			if (array_key_exists("post_types", $ignored_keys)) {
				foreach ($ignored_keys['post_types'] as $val) {
					if ($val == $value) {
						return true;
					}
				}
			}
			return $is_ignored;
		}

		function user_login_handler($user_login, $user) {
			$event_data = array("user" => $this->get_user($user->ID));
			$this->add_activity($event_data);
		}

		function user_logout_handler($user_id) {
			$user = $this->get_user($user_id);
			$event_data = array("user" => $user);
			$this->add_activity($event_data);
		}

		function password_reset_handler($user, $new_pass) {
			if (!empty($user)) {
				$event_data = array("user" => $this->get_user($user->ID));
				$this->add_activity($event_data);
			}
		}

		function comment_handler($comment_id) {
			$comment = $this->get_comment($comment_id);
			$post = $this->get_post($comment['post_id']);
			$event_data = array(
				"comment" => $comment,
				"post" => $post
			);
			$this->add_activity($event_data);
		}

		function comment_status_changed_handler($new_status, $old_status, $comment) {
			$post = $this->get_post($comment->comment_post_ID);
			$event_data = array(
				"comment" => $this->get_comment($comment->comment_ID),
				"post" => $post,
				"old_status" => $old_status,
				"new_status" => $new_status
			);
			$this->add_activity($event_data);
		}

		function post_handler($post_id) {
			$post = $this->get_post($post_id);
			if ($this->is_key_ignored($this->ignored_events, $post["type"]))
				return;
			$event_data = array();
			if (!isset($post["type"])) {
				$event_data["post"] = $post;
			} elseif ($post["type"] === "product") {
				$event_data["product"] = $post;
			} elseif ($post["type"] === "shop_order") {
				$event_data["order"] = $post;
			} else {
				$event_data["post"] = $post;
			}
			$this->add_activity($event_data);
		}

		function post_saved_handler($post_id, $post, $update) {
			$post = $this->get_post($post_id);
			if ($this->is_key_ignored($this->ignored_events, $post["type"]))
				return;
			$event_data = array();
			if (!isset($post["type"])) {
				$event_data["post"] = $post;
			} elseif ($post["type"] === "product") {
				$event_data["product"] = $post;
			} elseif ($post["type"] === "shop_order") {
				$event_data["order"] = $post;
			} else {
				$event_data["post"] = $post;
			}
			$event_data["updated"] = $update;
			$this->add_activity($event_data);
		}

		function term_handler($term_id) {
			$term = $this->get_term($term_id);
			$event_data = array(
				"term" => $term,
			);
			$this->add_activity($event_data);
		}

		function term_updation_handler($data, $term_id) {
			$term = $this->get_term($term_id);
			$event_data = array(
				"term" => $term,
				"new_term" => $data
			);
			$this->add_activity($event_data);
			return $data;
		}

		function term_deletion_handler($term_id) {
			$event_data = array(
				"term" => array("id" => $term_id)
			);
			$this->add_activity($event_data);
		}

		function user_handler($user_id) {
			$user = $this->get_user($user_id);
			$event_data = array(
				"user" => $user,
			);
			$this->add_activity($event_data);
		}

		function user_update_handler($user_id, $old_userdata) {
			$new_userdata = $this->get_user($user_id);
			$event_data = array(
				"old_user" => $this->get_user($old_userdata->ID),
				"user" => $new_userdata,
			);
			$this->add_activity($event_data);
		}

		function plugin_action_handler($plugin) {
			$event_data = array("plugin" => $plugin);
			$this->add_activity($event_data);
		}

		function theme_action_handler($theme_name) {
			$event_data = array("theme" => $theme_name);
			$this->add_activity($event_data);
		}

		function mu_handler($blog_id) {
			$blog = $this->get_blog($blog_id);
			$event_data = array(
				"blog" => $blog
			);
			$this->add_activity($event_data);
		}

		function mu_site_handler($blog) {
			$event_data = array(
				"blog" => $this->get_blog($blog->blog_id)
			);
			$this->add_activity($event_data);
		}

		function woocommerce_attribute_created_handler($attribute_id, $attribute_data) {
			$event_data = array(
				"attribute" => $this->wc_get_attribute($attribute_id, $attribute_data)
			);
			$this->add_activity($event_data);
		}

		function woocommerce_attribute_handler($attribute_id) {
			$event_data = array(
				"attribute" => $this->wc_get_attribute($attribute_id)
			);
			$this->add_activity($event_data);
		}

		function woocommerce_tax_rate_handler($tax_rate_id, $tax_rate) {
			$event_data = array(
				"tax_rate" => $this->wc_get_tax_rate($tax_rate_id, $tax_rate)
			);
			$this->add_activity($event_data);
		}

		function woocommerce_tax_rate_deleted_handler($tax_rate_id) {
			$event_data = array(
				"tax_rate" => array("id" => $tax_rate_id)
			);
			$this->add_activity($event_data);
		}

		function woocommerce_grant_product_download_access_handler($data) {
			$event_data = array(
				"download_id" => $data['download_id'],
				"user_id" => $data['user_id'],
				"order_id" => $data['order_id'],
				"product_id" => $data['product_id']
			);
			$this->add_activity($event_data);
		}

		function woocommerce_revoke_access_to_product_download_handler($download_id, $product_id, $order_id) {
			$event_data = array(
				"download_id" => $download_id,
				"product_id" => $product_id,
				"order_id" => $order_id
			);
			$this->add_activity($event_data);
		}

		function woocommerce_shipping_zone_method_handler($instance_id, $method_id, $zone_id) {
			$event_data = array(
				"instance_id" => absint ($instance_id),
				"method_id" => $method_id,
				"zone_id" => $zone_id
			);
			$this->add_activity($event_data);
		}

		function get_plugin_update_data($plugins) {
			$data = array();
			if (!empty($plugins) && defined('WP_PLUGIN_DIR')) {
				foreach ($plugins as $plugin) {
					$plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin);
					$title = isset($plugin_data['Name']) ? $plugin_data['Name'] : '';
					$version = isset($plugin_data['Version']) ? $plugin_data['Version'] : '';
					$install_data = array('title' => $title, 'version' => $version);
					array_push($data, $install_data);
				}
			}
			return $data;
		}

		function get_theme_update_data($themes) {
			$data = array();
			if (!empty($themes)) {
				foreach ($themes as $theme) {
					$theme_data = wp_get_theme($theme);
					$title = isset($theme_data['Name']) ? $theme_data['Name'] : '';
					$version = isset($theme_data['Version']) ? $theme_data['Version'] : '';
					$install_data = array('title' => $title, 'version' => $version);
					array_push($data, $install_data);
				}
			}
			return $data;
		}

		function get_plugin_install_data($upgrader) {
			$data = array();
			if ($upgrader->bulk != "1") {
				$plugin_data = $upgrader->new_plugin_data;
				$title = isset($plugin_data['Name']) ? $plugin_data['Name'] : '';
				$version = isset($plugin_data['Version']) ? $plugin_data['Version'] : '';
				$install_data = array('title' => $title, 'version' => $version);
				array_push($data, $install_data);
			}
			return $data;
		}

		function get_theme_install_data($upgrader) {
			$data = array();
			$theme_data = $upgrader->new_theme_data;
			$title = isset($theme_data['Name']) ? $theme_data['Name'] : '';
			$version = isset($theme_data['Version']) ? $theme_data['Version'] : '';
			$install_data = array('title' => $title, 'version' => $version);
			array_push($data, $install_data);
			return $data;
		}

		function get_update_data($options) {
			$event_data = array('action' => 'update');
			if ($options['type'] === 'plugin') {
				$event_data['type'] = 'plugin';
				if (array_key_exists("plugin", $options)) {
					$options['plugins'] = array($options['plugin']);
					unset($options['plugin']);
				}
				$event_data['plugins'] = $this->get_plugin_update_data($options['plugins']);
			}
			else if ($options['type'] === 'theme') {
				$event_data['type'] = 'theme';
				if (array_key_exists("theme", $options)) {
				  $options['themes'] = array($options['theme']);
					unset($options['theme']);
				}
				$event_data['themes'] = $this->get_theme_update_data($options['themes']);
			}
			return $event_data;
		}

		function get_install_data($upgrader, $options) {
			$event_data = array('action' => 'install');
			if ($options['type'] === 'plugin') {
				$event_data['type'] = 'plugin';
				$event_data['plugins'] = $this->get_plugin_install_data($upgrader);
			}
			else if ($options['type'] === 'theme') {
				$event_data['type'] = 'theme';
				$event_data['themes'] = $this->get_theme_install_data($upgrader);
			}
			return $event_data;
		}

		function upgrade_handler($upgrader, $data) {
			$event_data = array();
			if (isset($data['action'])) {
				if ($data['action'] === 'update') {
					if ('core' === $data['type']) {
						return;
					}
					$event_data = $this->get_update_data($data);
				} else if ($data['action'] === 'install') {
					$event_data = $this->get_install_data($upgrader, $data);
				}
			}
			$this->add_activity($event_data);
		}

		function core_upgrade_handler($new_wp_version) {
			global $wp_version;
			$event_data = array();
			$event_data['type'] = 'core';
			$event_data['wp_core'] = array('prev_version' => $wp_version, 'new_version' => $new_wp_version);
			$this->add_activity($event_data);
		}

		/* ADDING ACTION AND LISTENERS FOR SENSING EVENTS. */
		public function add_actions_and_listeners() {
			/* SENSORS FOR POST AND PAGE CHANGES */
			add_action('pre_post_update', array($this, 'post_handler'));
			add_action('save_post', array($this, 'post_saved_handler'), 10, 3);
			add_action('post_stuck', array($this, 'post_handler'));
			add_action('post_unstuck', array($this, 'post_handler'));
			add_action('delete_post', array($this, 'post_handler'));

			/* SENSORS FOR COMMENTS */
			add_action('comment_post', array($this, 'comment_handler'));
			add_action('edit_comment', array($this, 'comment_handler'));
			add_action('transition_comment_status', array($this, 'comment_status_changed_handler'), 10, 3);

			/* SENSORS FOR TAG AND CATEGORY CHANGES */
			add_action('create_term', array($this, 'term_handler'));
			add_action('pre_delete_term', array($this, 'term_handler'));
			add_action('delete_term', array($this, 'term_deletion_handler'));
			add_filter('wp_update_term_data', array($this, 'term_updation_handler'), 10, 2);

			/* SENSORS FOR USER CHANGES*/
			add_action('user_register', array($this, 'user_handler'));
			add_action('wpmu_new_user', array($this, 'user_handler'));
			add_action('profile_update', array($this, 'user_update_handler'), 10, 2);
			add_action('delete_user', array($this, 'user_handler'));
			add_action('wpmu_delete_user', array($this, 'user_handler'));

			/* SENSORS FOR PLUGIN AND THEME*/
			add_action('activate_plugin', array($this, 'plugin_action_handler'));
			add_action('deactivate_plugin', array($this, 'plugin_action_handler'));
			add_action('switch_theme', array($this, 'theme_action_handler'));

			/* SENSORS FOR MULTISITE CHANGES */
			add_action('wp_insert_site', array($this, 'mu_site_handler'));
			add_action('archive_blog', array($this, 'mu_handler'));
			add_action('unarchive_blog', array( $this, 'mu_handler'));
			add_action('activate_blog', array($this, 'mu_handler'));
			add_action('deactivate_blog', array($this, 'mu_handler'));
			add_action('wp_delete_site', array($this, 'mu_site_handler'));

			/* SENSORS USER ACTIONS AT FRONTEND */
			add_action('wp_login', array($this, 'user_login_handler'), 10, 2);
			add_action('wp_logout', array( $this, 'user_logout_handler'), 5, 1);
			add_action('password_reset', array( $this, 'password_reset_handler'), 10, 2);

			/* SENSOR FOR PLUGIN, THEME, WPCORE UPGRADES */
			add_action('upgrader_process_complete', array($this, 'upgrade_handler'), 10, 2);
			add_action('_core_updated_successfully', array($this, 'core_upgrade_handler'), 10, 1);

			/* SENSORS FOR WOOCOMMERCE EVENTS */
			add_action('woocommerce_attribute_added', array($this, 'woocommerce_attribute_created_handler'), 10, 2);
			add_action('woocommerce_attribute_updated', array($this, 'woocommerce_attribute_handler'), 10, 1);
			add_action('woocommerce_before_attribute_delete', array($this, 'woocommerce_attribute_handler'), 10, 1);
			add_action('woocommerce_attribute_deleted', array($this, 'woocommerce_attribute_handler'), 10, 1);

			add_action('woocommerce_tax_rate_added', array($this, 'woocommerce_tax_rate_handler'), 10, 2);
			add_action('woocommerce_tax_rate_deleted', array($this, 'woocommerce_tax_rate_deleted_handler'), 10, 1);
			add_action('woocommerce_tax_rate_updated', array($this, 'woocommerce_tax_rate_handler'), 10, 2);

			add_action('woocommerce_grant_product_download_access', array($this, 'woocommerce_grant_product_download_access_handler'), 10, 1);
			add_action('woocommerce_ajax_revoke_access_to_product_download', array($this, 'woocommerce_revoke_access_to_product_download_handler'), 10, 3);

			add_action('woocommerce_shipping_zone_method_added', array($this, 'woocommerce_shipping_zone_method_handler'), 10, 3);
			add_action('woocommerce_shipping_zone_method_status_toggled', array($this, 'woocommerce_shipping_zone_method_handler'), 10, 3);
			add_action('woocommerce_shipping_zone_method_deleted', array($this, 'woocommerce_shipping_zone_method_handler'), 10, 3);
		}
	}
endif;

Filemanager

Name Type Size Permission Actions
admin Folder 0755
callback Folder 0755
css Folder 0755
form_testing Folder 0755
img Folder 0755
php_error_monitoring Folder 0755
protect Folder 0755
public_keys Folder 0755
wp_2fa Folder 0755
account.php File 7.14 KB 0644
helper.php File 10.68 KB 0644
info.php File 7.66 KB 0644
license.txt File 19.46 KB 0644
malcare.php File 8.49 KB 0644
readme.txt File 32.06 KB 0644
recover.php File 1.71 KB 0644
wp_actions.php File 2.92 KB 0644
wp_actlog.php File 17.52 KB 0644
wp_admin.php File 12.67 KB 0644
wp_api.php File 1.04 KB 0644
wp_cli.php File 5.6 KB 0644
wp_db.php File 6.1 KB 0644
wp_dynsync.php File 34.75 KB 0644
wp_file_system.php File 2.29 KB 0644
wp_login_whitelabel.php File 1.48 KB 0644
wp_settings.php File 2.06 KB 0644
wp_site_info.php File 2.4 KB 0644