MOON
Server: Apache
System: Linux server1.primemusicproductions.com 4.18.0-477.27.2.el8_8.x86_64 #1 SMP Fri Sep 29 08:21:01 EDT 2023 x86_64
User: primrwxj (1001)
PHP: 8.3.3
Disabled: NONE
Upload Files
File: /home/primrwxj/thepassiveincomeideas.com/wp-content/plugins/wpauto-pro/admin/class.admin-menu.php
<?php

class WPAuto_Admin_Menu {

	public static $instance = null;
		
	public function __construct() {
		
		// Admin Menu Page
		add_action( 'admin_menu', array( $this, 'wpauto_add_menu_page' ), 99 );
		
		add_action( 'admin_enqueue_scripts', array( $this, 'wpauto_admin_scripts' ) );

		$this->admin_footer();
		
	}
	
	public static function wpauto_admin_scripts( $hook ) {
		
		global $post;	
		
		$wpauto_pages = [
			'wpauto',
			'wpauto_all_campaigns',			
			'wpauto_settings',
			'wpauto_license',
			'wpauto_log',
			'wpauto_import',
			'wpauto_seo',
			'wpauto-seo-table',
			'wpauto-seo-log',
		];
		
		wp_enqueue_style( 'wpauto-font', WPAUTO_URL . 'admin/assets/css/wpauto-font.css', array(), WPAUTO_VERSION, 'all' );
		wp_enqueue_style( 'wpauto-dashboard', WPAUTO_URL . 'admin/assets/css/admin-styles.css', array(), WPAUTO_VERSION, 'all' );
		
		wp_enqueue_script( 'wpauto-general', WPAUTO_URL . 'admin/assets/js/wpauto-general.js', array( 'jquery' ), WPAUTO_VERSION, true );
		$wpauto_gen_args = array(
			'nonce' => wp_create_nonce( 'wpauto(*&$B#@&*' )
		);
		wp_localize_script( 'wpauto-general', 'aip_gen_obj', $wpauto_gen_args );
		
		// Add localized data for OpenAI model refresh
		$wpauto_refresh_args = array(
			'refresh_text' => esc_html__( 'Refresh Model List', 'wpauto' ),
			'refreshing_text' => esc_html__( 'Refreshing models...', 'wpauto' ),
			'error_text' => esc_html__( 'An error occurred while refreshing models.', 'wpauto' )
		);
		wp_localize_script( 'wpauto-general', 'wpauto_refresh_models_obj', $wpauto_refresh_args );
		
		if( isset( $_GET['page'] ) && in_array( $_GET['page'], $wpauto_pages ) ) {	
		
			// Google Font
			wp_enqueue_style( 'wpauto-google-font', esc_url( 'https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap' ), array(), WPAUTO_VERSION, 'all' );
			
			wp_enqueue_style( 'wpauto-dark-admin', WPAUTO_URL . 'admin/assets/css/wpauto-dark-admin.css', array(), WPAUTO_VERSION, 'all' );
				
			//if( isset( $_GET['page'] ) && $_GET['page'] == 'wpauto_import' ){
				
				wp_enqueue_style( 'wpauto-plugin-options', WPAUTO_URL . 'admin/plugin-options/assets/css/import-page.css', array(), WPAUTO_VERSION, 'all' );
				
			//}
					
			$current_screen = get_current_screen();
			//if( $current_screen->id == 'wpauto' || $current_screen->id == 'toplevel_page_wpauto' ){			
				wp_enqueue_script( 'wpauto-dashboard', WPAUTO_URL . 'admin/assets/js/wpauto-dashboard.js', array( 'jquery' ), WPAUTO_VERSION, true );			
			//}
			
			if( isset( $_GET['page'] ) && $_GET['page'] == 'wpauto' ) {	
				wp_enqueue_script( 'chart', 'https://cdn.jsdelivr.net/npm/chart.js', array( 'jquery' ), WPAUTO_VERSION, true );
			}
			
			
			
			$day_wise_data = get_option( 'wpauto_day_wise_data', [] );
			
			$chart_data = [];
			if( !empty( $day_wise_data ) ) {
				$day_wise_data = array_reverse( $day_wise_data );
				$day_wise_data = array_slice( $day_wise_data, 0, 7 );
				$day_wise_data = array_reverse( $day_wise_data );
				foreach( $day_wise_data as $dt => $count ) {
					$chart_data[] = [ 'x' => WPAuto_Deprecated::wpauto_str_replace( '-', '/', substr( $dt, 0, -3 ) ), 'y' => $count ];
				}
			}
			$wpauto_args = array(
				"chart_data" => json_encode( $chart_data )
			);
			wp_localize_script( 'wpauto-dashboard', 'wpauto_chart_obj', $wpauto_args );
			
			//echo 'this is test your current screen: '. $current_screen->id;
			
			if( $current_screen->id == 'wpauto-pro_page_wpauto_all_campaigns' || $current_screen->id == 'toplevel_page_wpauto' || $current_screen->id == 'wpauto-pro_page_wpauto_import' || $current_screen->id == 'wpauto-pro_page_wpauto_log' ) {
				
				wp_enqueue_style( 'jquery-confirm', WPAUTO_URL . 'admin/assets/css/jquery-confirm.css', array(), WPAUTO_VERSION, 'all' );
				wp_enqueue_script( 'jquery-confirm', WPAUTO_URL . 'admin/assets/js/jquery-confirm.js', array( 'jquery' ), WPAUTO_VERSION, true );
				
				
				wp_enqueue_script( 'jquery-ui', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js', array( 'jquery' ), WPAUTO_VERSION, true );
				wp_enqueue_media();
				
				wp_enqueue_style( 'select2', WPAUTO_URL . 'admin/assets/css/select2.min.css', array(), WPAUTO_VERSION, 'all' );
				wp_enqueue_script( 'select2', WPAUTO_URL . 'admin/assets/js/select2.full.min.js', array( 'jquery' ), WPAUTO_VERSION );
				wp_enqueue_script( 'wpauto-campaign-page', WPAUTO_URL . 'admin/assets/js/wpauto-campaign-page.js', array( 'jquery' ), WPAUTO_VERSION, true );
				
				wp_enqueue_style( 'jquery-ui-datepicker', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css?ver=6.3.2' );	
				wp_enqueue_script( 'jquery-ui-datepicker' );
				
			}
			
			if( $current_screen->id == 'wpauto-pro_page_wpauto_settings' || $current_screen->id == 'wpauto-pro_page_wpauto_all_campaigns' ) {
				wp_enqueue_media();
				wp_enqueue_script( 'wpauto-plugin-settings', WPAUTO_URL . 'admin/plugin-options/assets/js/plugin-settings.js', array( 'jquery' ), WPAUTO_VERSION, true );
			}
		
		}
		
		
	}
	
	public function wpauto_add_menu_page() {
		
		// Main menu
		add_menu_page(
			esc_html__( 'WPAuto Pro', 'wpauto' ),
			esc_html__( 'WPAuto Pro', 'wpauto' ),			
			'administrator',
			'wpauto',
			null, //array( $this, 'wpauto_campaign' ),
			'dashicons-admin-page',
			75.56
		);
		
		// Submenu - WPAuto Home
		add_submenu_page(
			'wpauto',
			esc_html__( 'Dashboard', 'wpauto' ),
			esc_html__( 'Dashboard', 'wpauto' ),
			'administrator',
			'wpauto',
			array( $this, 'wpauto_campaign' ),//'post-new.php?post_type=wpauto'
		);
		
		// Submenu - WPAuto Home
		add_submenu_page(
			'wpauto',
			esc_html__( 'All Campaigns', 'wpauto' ),
			esc_html__( 'All Campaigns', 'wpauto' ),
			'administrator',
			//'edit.php?post_type=wpauto'			
			'wpauto_all_campaigns',
			array( $this, 'wpauto_all_campaigns' ),
		);
		
		// Submenu - New Campaign
		add_submenu_page(
			'wpauto',
			esc_html__( 'New Campaign', 'wpauto' ),
			esc_html__( 'New Campaign', 'wpauto' ),
			'administrator',	
			'#wpauto-new-campaign',
			//array( $this, 'wpauto_all_campaigns' ),
		);
				
		//global $submenu; unset( $submenu['wpauto'][0] );
		
		// Submenu - SEO
		add_submenu_page(
			'wpauto',
			esc_html__( 'SEO', 'wpauto' ),
			esc_html__( 'SEO', 'wpauto' ),
			'administrator',
			'wpauto_seo',
			array( $this, 'wpauto_seo_page' )
		);
		
		// Submenu - Settings
		add_submenu_page(
			'wpauto',
			esc_html__( 'Settings', 'wpauto' ),
			esc_html__( 'Settings', 'wpauto' ),
			'administrator',
			'wpauto_settings',
			array( $this, 'wpauto_settings_page' )
		);
		
		// Submenu - Import Export
		add_submenu_page(
			'wpauto',
			esc_html__( 'Import & Export', 'wpauto' ),
			esc_html__( 'Import & Export', 'wpauto' ),
			'administrator',
			'wpauto_import',
			array( $this, 'wpauto_imex_page' )
		);
		
		// Submenu - Log
		add_submenu_page(
			'wpauto',
			esc_html__( 'Log', 'wpauto' ),
			esc_html__( 'Log', 'wpauto' ),
			'administrator',
			'wpauto_log',
			array( $this, 'wpauto_log_page' )
		);
		
		// Submenu - License
		add_submenu_page(
			'wpauto',
			esc_html__( 'AI License', 'wpauto' ),
			esc_html__( 'License', 'wpauto' ),
			'administrator',
			'wpauto_license',
			array( $this, 'wpauto_license_page' )
		);
		
		global $submenu;
		unset( $submenu['wpauto'][0] ); // remove first link		
		//unset( $submenu['wpauto'][3] ); // remove edit link
		
	}
		
	public function wpauto_log_page() {
		require_once WPAUTO_DIR . "admin/pages/log.php";
	}
	
	public function wpauto_license_page() {
		require_once WPAUTO_DIR . "admin/pages/license.php";
	}
	
	public function wpauto_settings_page() {
		require_once WPAUTO_DIR . "admin/pages/settings.php";
	}
	
	public function wpauto_imex_page() {
		require_once WPAUTO_DIR . "admin/pages/imex.php";
	}
	
	public function wpauto_seo_page() {
		require_once WPAUTO_DIR . "admin/pages/seo.php";
	}
	
	public function wpauto_campaign() {
		require_once WPAUTO_DIR . "admin/pages/dashboard.php";
	}
	
	public function wpauto_all_campaigns() {
		require_once WPAUTO_DIR . "admin/pages/all-campaigns.php";
	}
	
	public function admin_footer() {
		require_once WPAUTO_DIR . "admin/parts/admin-footer.php";
	}
	
	public static function instance() {
		if ( is_null( self::$instance ) ) {
			self::$instance = new self();
		}
		return self::$instance;
	}
	
} WPAuto_Admin_Menu::instance();