HEX
Server: Apache/2
System: Linux sv174 5.14.0-570.21.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 11 07:22:35 EDT 2025 x86_64
User: casinobe (1137)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/casinobe/domains/pug555-a.com/public_html/wp-content/plugins/quadmenu/lib/class-locations.php
<?php

namespace QuadLayers\QuadMenu;

if ( ! defined( 'ABSPATH' ) ) {
	die( '-1' );
}
/**
 * Locations Class ex QuadMenu_Locations
 */
class Locations {

	private static $instance;

	public function __construct() {

		$this->locations();

		$this->dev();

		add_action( 'init', array( $this, 'active' ), -10 );

		add_action( 'admin_init', array( $this, 'save' ), 999 );
	}

	function dev() {

		register_nav_menus(
			array(
				'quadmenu_dev' => 'QuadMenu Dev',
			)
		);

		unset( $GLOBALS['quadmenu_locations']['quadmenu_dev'] );
	}

	function locations() {

		global $quadmenu_locations;

		$quadmenu_locations = get_option( QUADMENU_DB_LOCATIONS, array() );
	}

	function active() {

		global $quadmenu, $quadmenu_locations, $quadmenu_active_locations;

		$quadmenu_active_locations = array( 'quadmenu_dev' => true );

		if ( ! empty( $quadmenu ) && is_array( $quadmenu_locations ) && count( $quadmenu_locations ) ) {

			foreach ( $quadmenu_locations as $id => $location ) {
				if ( ! empty( $quadmenu[ $id . '_integration' ] ) && ! empty( $quadmenu[ $id . '_theme' ] ) ) {
					$quadmenu_active_locations[ $id ] = $quadmenu[ $id . '_theme' ];
				}
			}
		}
	}

	public function save() {

		global $_wp_registered_nav_menus, $quadmenu, $quadmenu_locations;

		if ( ! empty( $quadmenu ) && is_array( $_wp_registered_nav_menus ) && count( $_wp_registered_nav_menus ) ) {

			$quadmenu_locations = array();

			foreach ( $_wp_registered_nav_menus as $location => $name ) {

				$quadmenu_locations[ $location ] = array(
					'name' => $name,
				);
			}

			update_option( QUADMENU_DB_LOCATIONS, $quadmenu_locations );
		}
	}

	public static function instance() {
		if ( ! isset( self::$instance ) ) {
			self::$instance = new self();
		}
		return self::$instance;
	}
}