File: /var/www/epamokos.kaunokolegija.lt/wp-content/plugins/wp-user-frontend/includes/Installer.php
<?php
namespace WeDevs\Wpuf;
/**
* The installer class
*
* @since 2.6.0
*/
class Installer {
/**
* The installer class
*
* @return void
*/
public function install() {
$this->create_tables();
$this->schedule_events();
$installed = get_option( 'wpuf_installed' );
if ( !$installed ) {
update_option( 'wpuf_installed', time() );
}
flush_rewrite_rules( false );
set_transient( 'wpuf_activation_redirect', true, 30 );
update_option( 'wpuf_version', WPUF_VERSION );
}
/**
* Create the table schema
*
* @return void
*/
public function create_tables() {
global $wpdb;
$collate = '';
if ( $wpdb->has_cap( 'collation' ) ) {
if ( !empty( $wpdb->charset ) ) {
$collate .= "DEFAULT CHARACTER SET $wpdb->charset";
}
if ( !empty( $wpdb->collate ) ) {
$collate .= " COLLATE $wpdb->collate";
}
}
$table_schema = [
"CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}wpuf_transaction` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` bigint(20) DEFAULT NULL,
`status` varchar(60) NOT NULL DEFAULT 'pending_payment',
`subtotal` varchar(255) DEFAULT '',
`tax` varchar(255) DEFAULT '',
`cost` varchar(255) DEFAULT '',
`post_id` varchar(20) DEFAULT NULL,
`pack_id` bigint(20) DEFAULT NULL,
`payer_first_name` varchar(60),
`payer_last_name` varchar(60),
`payer_email` varchar(100),
`payment_type` varchar(20),
`payer_address` longtext,
`transaction_id` varchar(60),
`created` datetime NOT NULL,
PRIMARY KEY (`id`),
key `user_id` (`user_id`),
key `post_id` (`post_id`),
key `pack_id` (`pack_id`),
key `payer_email` (`payer_email`)
) $collate;",
"CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}wpuf_subscribers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(191) NOT NULL,
`subscribtion_id` varchar(191) NOT NULL,
`subscribtion_status` varchar(191) NOT NULL,
`gateway` varchar(191) NOT NULL,
`transaction_id` varchar(191) NOT NULL,
`starts_from` varchar(191) NOT NULL,
`expire` varchar(191) NOT NULL,
PRIMARY KEY (`id`),
key `user_id` (`user_id`)
) $collate;",
];
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
foreach ( $table_schema as $table ) {
dbDelta( $table );
}
}
/**
* Schedules the post expiry event
*
* @since 2.2.7
*/
public function schedule_events() {
wp_schedule_event( time(), 'daily', 'wpuf_remove_expired_post_hook' );
}
}