HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/posscale/www/WP-POS/wp-content/themes/angle/functions/wpzoom/components/admin/admin.php
<?php
/**
 * WPZOOM_Admin
 *
 * @package WPZOOM
 * @subpackage Admin
 */

new WPZOOM_Admin();

class WPZOOM_Admin {

	/**
	 * Initialize wp-admin options page
	 */
	public function __construct() {
		add_action( 'after_switch_theme', array( $this, 'start_page_redirect' ) );

		if ( isset( $_GET['page'] ) && $_GET['page'] == 'wpzoom_options' ) {
			add_action( 'init', array( 'WPZOOM_Admin_Settings_Page', 'init' ) );
		}

		add_action( 'admin_menu', array( $this, 'register_admin_pages' ) );
		add_action( 'admin_footer', array( $this, 'activate' ) );

		add_action( 'wp_ajax_wpzoom_ajax_post', array( 'WPZOOM_Admin_Settings_Page', 'ajax_options' ) );
		add_action( 'wp_ajax_wpzoom_widgets_default', array( 'WPZOOM_Admin_Settings_Page', 'ajax_widgets_default' ) );
		add_action( 'wp_ajax_wpzoom_demo_content', array( 'WPZOOM_Admin_Settings_Page', 'ajax_demo_content' ) );
		add_action( 'wp_ajax_wpzoom_erase_demo_content', array( 'WPZOOM_Admin_Settings_Page', 'ajax_erase_demo_content' ) );
		add_action( 'wp_ajax_wpzoom_update_nav_menu_location', array( 'WPZOOM_Admin_Settings_Page', 'ajax_update_nav_menu_location' ) );

		add_action( 'admin_print_scripts-widgets.php', array( $this, 'widgets_styling_script' ) );
		add_action( 'admin_print_scripts-widgets.php', array( $this, 'widgets_styling_css' ) );

		add_action( 'admin_enqueue_scripts', array( $this, 'wpadmin_script' ) );
		add_action( 'admin_enqueue_scripts', array( $this, 'wpadmin_css' ) );
		add_action( 'admin_enqueue_scripts', array( $this, 'load_gutenberg_scripts' ) );
	}

	function start_page_redirect() {
		$ignored_themes = get_deprecated_themes();
		$redirect_page  = in_array( WPZOOM::$theme_raw_name, $ignored_themes ) ? 'wpzoom_options' : 'wpzoom_license';
		header( 'Location: admin.php?page=' . $redirect_page );
	}
	public function widgets_styling_script() {
		wp_enqueue_script( 'wpzoom_widgets_styling', WPZOOM::$assetsPath . '/js/widgets-styling.js', array( 'jquery' ) );
	}

	public function widgets_styling_css() {
		wp_enqueue_style( 'wpzoom_widgets_styling', WPZOOM::$assetsPath . '/css/widgets-styling.css' );
	}

	public function wpadmin_script() {
		wp_enqueue_script( 'zoom-wp-admin', WPZOOM::$assetsPath . '/js/wp-admin.js', array( 'jquery', 'wp-util' ), WPZOOM::$wpzoomVersion );
		wp_localize_script(
			'zoom-wp-admin',
			'zoomFramework',
			array(
				'rootUri'   => WPZOOM::get_root_uri(),
				'assetsUri' => WPZOOM::get_assets_uri(),
			)
		);
		wp_enqueue_style( 'zoom-font-awesome', WPZOOM::$assetsPath . '/css/font-awesome.min.css' );
	}

	public function wpadmin_css() {
		wp_enqueue_style( 'zoom-wp-admin', WPZOOM::get_assets_uri() . '/css/wp-admin.css', array(), WPZOOM::$wpzoomVersion );
	}

	/**
	 * Load Gutenberg Metaboxes script compatibility
	 *
	 * @package WPZOOM
	 * @subpackage Admin
	 **/
	public function load_gutenberg_scripts() {
		if ( function_exists( 'gutenberg_get_block_categories' ) || function_exists( 'get_block_categories' ) ) {
			wp_enqueue_script(
				'zoom-wp-admin-gutenberg-metaboxes',
				WPZOOM::$assetsPath . '/js/admin.gutenberg-metabox-compatibility.js',
				array( 'jquery' ),
				WPZOOM::$wpzoomVersion
			);
		}
	}

	public function activate() {
		if ( option::get( 'wpzoom_activated' ) != 'yes' ) {
			option::set( 'wpzoom_activated', 'yes' );
			option::set( 'wpzoom_activated_time', time() );
		} else {
			$activated_time = option::get( 'wpzoom_activated_time' );
			if ( ( time() - $activated_time ) < 2592000 ) {
				return;
			}
		}

		option::set( 'wpzoom_activated_time', time() );

		$ignored_themes = get_deprecated_themes();

		if ( ! in_array( WPZOOM::$theme_raw_name, $ignored_themes ) ) {
			require_once WPZOOM_INC . '/pages/welcome.php';
		}
	}

	public function admin() {
		require_once WPZOOM_INC . '/pages/admin.php';
	}

	public function themes() {
		require_once WPZOOM_INC . '/pages/themes.php';
	}

	public function update() {
		require_once WPZOOM_INC . '/pages/update.php';
	}

	/**
	 * WPZOOM custom menu for wp-admin
	 */
	public function register_admin_pages() {
		add_menu_page( __( 'Page Title', 'wpzoom' ), __( 'WPZOOM', 'wpzoom' ), 'manage_options', 'wpzoom_options', array( $this, 'admin' ), 'none', 40 );

		add_submenu_page( 'wpzoom_options', __( 'WPZOOM', 'wpzoom' ), __( 'Theme Options', 'wpzoom' ), 'manage_options', 'wpzoom_options', array( $this, 'admin' ) );

		if ( file_exists( get_template_directory() . '/functions/customizer' ) ) {
			$customize_url = add_query_arg( 'return', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), 'customize.php' );
			add_submenu_page( 'wpzoom_options', __( 'Customize', 'wpzoom' ), __( 'Customize', 'wpzoom' ), 'customize', esc_url( $customize_url ) );
		}

		if ( option::is_on( 'framework_update_enable' ) ) {
			add_submenu_page( 'wpzoom_options', __( 'Update Framework', 'wpzoom' ), __( 'Update Framework', 'wpzoom' ), 'update_themes', 'wpzoom_update', array( $this, 'update' ) );
		}

		if ( option::is_on( 'framework_newthemes_enable' ) && ! wpzoom::$tf ) {
			add_submenu_page( 'wpzoom_options', __( 'New Themes', 'wpzoom' ), __( 'New Themes', 'wpzoom' ), 'manage_options', 'wpzoom_themes', array( $this, 'themes' ) );
		}
	}
}