HEX
Server: Apache
System: Linux webd003.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: slyfwmm (169339)
PHP: 8.1.34
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/slyfwmm/pianob/wp-content/plugins/hbook/utils/plugin-check.php
<?php
class HbPluginCheck {

	private $current_version;
	private $latest_version;
	private $plugin_slug;
	private $download_url;

	function __construct( $current_version ) {
		$this->current_version = $current_version;
		$this->plugin_slug = 'hbook';
		add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
		add_filter( 'plugins_api', array( $this, 'check_info' ), 100, 3 );
	}

	private function get_latest_version_info() {
		$request = wp_remote_post(
			'https://maestrel.com/updates/hbook-data/version.php',
			array(
				'body' => array(
					'site_url' => get_site_url(),
					'key' => get_option( 'hb_purchase_code' ),
				)
			)
		);
		if ( ! is_wp_error( $request ) ) {
			$latest_version_info = json_decode( $request['body'], true );
			if ( isset( $latest_version_info['latest_version'] ) && isset( $latest_version_info['tested'] ) ) {
				return $latest_version_info;
			}
		}
		return false;
	}

	public function check_update( $transient ) {
		$latest_version_info = $this->get_latest_version_info();
		if ( version_compare( $latest_version_info['latest_version'], $this->current_version ) > 0 ) {
			$obj = new stdClass();
			$obj->slug = $this->plugin_slug;
			$obj->plugin = 'hbook/hbook.php';
			$obj->new_version = $latest_version_info['latest_version'];
			$obj->package = 'https://maestrel.com/updates/hbook-data/download.php?key=' . get_option( 'hb_purchase_code' );
			$obj->tested = $latest_version_info['tested'];
			$transient->response[ $obj->plugin ] = $obj;
		}
		return $transient;
	}

	public function check_info( $original, $action, $args ) {
		if ( isset( $args->slug ) && ( $args->slug == $this->plugin_slug ) ) {
			$info = $this->get_remote_info();
			$obj = new stdClass();
			$obj->name = 'HBook';
			$obj->slug = $this->plugin_slug;
			$obj->version = $info['latest_version'];
			if ( isset( $info['requires'] ) ) {
				$obj->requires = $info['requires'];
			}
			if ( isset( $info['tested'] ) ) {
				$obj->tested = $info['tested'];
			}
			//$obj->last_updated = '';
			$changelog = 'Could not fetch changelog.';
			if ( isset( $info['changelog'] ) ) {
				$changelog = $info['changelog'];
			}
			$obj->sections = array(
				'changelog' => $changelog
			);
			//$obj->download_link = '';
			return $obj;
		} else {
			return $original;
		}
	}

	private function get_remote_info() {
		$request = wp_remote_post( 'https://maestrel.com/updates/hbook-data/info.php' );
		if ( ! is_wp_error( $request ) ) {
			return json_decode( $request['body'], true );
		} else {
			return false;
		}
	}

}