<?php
/**
 * Admin Class
 *
 * Handles admin side functionality of plugin
 *
 * @package WP Trending Post Slider and Widget
 * @since 1.0.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

class Wtpsw_Admin {

	function __construct() {

		// Action to register admin menu
		add_action( 'admin_menu', array($this, 'wtpsw_register_menu') );

		// Action to register plugin settings
		add_action ( 'admin_init', array($this,'wtpsw_admin_processes') );
	}

	/**
	 * Function to register admin menus
	 * 
	 * @package WP Trending Post Slider and Widget
	 * @since 1.0.0
	 */
	function wtpsw_register_menu() {

		// Register Setting Page
		add_menu_page ( __('Trending Post', 'wtpsw'), __('Trending Post', 'wtpsw'), 'manage_options', 'wtpsw-settings', array($this, 'wtpsw_settings_page'), 'dashicons-star-filled' );

		// Register How It Work Page
		add_submenu_page( 'wtpsw-settings', __('Getting Started - WP Trending Post Slider and Widget', 'wtpsw'), __('Getting Started', 'wtpsw'), 'edit_posts', 'wtpsw-help', array($this, 'wtpsw_designs_page') );

		// Register plugin premium page
		add_submenu_page( 'wtpsw-settings', __('Upgrade To Premium - Trending/Popular Post Slider and Widget', 'wtpsw'), '<span style="color:#ff2700">'.__('Upgrade To Premium', 'wtpsw').'</span>', 'manage_options', 'wtpsw-premium', array($this, 'wtpsw_premium_page') );
	}

	/**
	 * Function to handle the setting page html
	 * 
	 * @package WP Trending Post Slider and Widget
	 * @since 1.0.0
	 */
	function wtpsw_settings_page() {
		include_once( WTPSW_DIR . '/includes/admin/form/wtpsw-settings.php' );
	}

	/**
	 * How It Work Page
	 * 
	 * @package WP Trending Post Slider and Widget
	 * @since 1.0.0
	 */
	function wtpsw_designs_page() {
		include_once( WTPSW_DIR . '/includes/admin/wtpsw-how-it-works.php' );
	}

	/**
	 * Upgrade to PRO Vs Free 
	 * 
	 * @package WP Trending Post Slider and Widget
	 * @since 1.0.0
	 */
	function wtpsw_premium_page() {
		include_once( WTPSW_DIR . '/includes/admin/form/premium.php' );
	}
	
	/**
	 * Function register setings
	 * 
	 * @package WP Trending Post Slider and Widget
	 * @since 1.0.0
	 */
	function wtpsw_admin_processes() {
		
		// If plugin notice is dismissed
		if( isset($_GET['message']) && $_GET['message'] == 'wtpsw-plugin-notice' ) {
			set_transient( 'wtpsw_install_notice', true, 604800 );
		}

		register_setting( 'wtpsw_plugin_options', 'wtpsw_options', array($this, 'wtpsw_validate_options') );
	}

	/**
	 * Validate Settings Options
	 * 
	 * @package WP Trending Post Slider and Widget
	 * @since 1.0.0
	 */
	function wtpsw_validate_options( $input ){
		
		$input['post_types']	= isset($input['post_types'])	? $input['post_types'] 							: array();

		return $input;
	}
}

$wtpsw_Admin = new Wtpsw_Admin();