﻿!!!!!!!!!!!
ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+...383-7(-.+
<?php
/**
 * Plugin Name: Apus Findus
 * Plugin URI: http://apusthemes.com/apus-findus/
 * Description: Apus Findus is a plugin for Findus directory listing theme
 * Version: 1.3
 * Author: ApusTheme
 * Author URI: http://apusthemes.com
 * Requires at least: 3.8
 * Tested up to: 5.2
 *
 * Text Domain: apus-findus
 * Domain Path: /languages/
 *
 * @package apus-findus
 * @category Plugins
 * @author ApusTheme
 */
if ( ! defined( 'ABSPATH' ) ) exit;

if( !class_exists("ApusFindus") ) {
	
	final class ApusFindus {

		private static $instance;

		public static function getInstance() {
			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof ApusFindus ) ) {
				self::$instance = new ApusFindus;
				self::$instance->setup_constants();

				add_action( 'plugins_loaded', array( self::$instance, 'load_textdomain' ) );

				self::$instance->includes();
			}

			return self::$instance;
		}

		/**
		 *
		 */
		public function setup_constants(){
			// Plugin Folder Path
			if ( ! defined( 'APUSFINDUS_PLUGIN_DIR' ) ) {
				define( 'APUSFINDUS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
			}

			// Plugin Folder URL
			if ( ! defined( 'APUSFINDUS_PLUGIN_URL' ) ) {
				define( 'APUSFINDUS_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
			}

			// Plugin Root File
			if ( ! defined( 'APUSFINDUS_PLUGIN_FILE' ) ) {
				define( 'APUSFINDUS_PLUGIN_FILE', __FILE__ );
			}

			// Prefix
			if ( ! defined( 'APUSFINDUS_PREFIX' ) ) {
				define( 'APUSFINDUS_PREFIX', 'apus_findus_' );
			}
		}

		public function includes() {
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/mixes-functions.php';
			
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-template-loader.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-claim.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-fields-manager.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-custom-fields-html.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-custom-fields.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-taxonomies.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/class-custom-fields-display.php';
			

			require_once APUSFINDUS_PLUGIN_DIR . 'inc/taxonomies/class-taxonomy-job-manager-amenities.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/taxonomies/class-taxonomy-job-manager-categories.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/taxonomies/class-taxonomy-job-manager-regions.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/taxonomies/class-taxonomy-job-manager-tags.php';
			require_once APUSFINDUS_PLUGIN_DIR . 'inc/taxonomies/class-taxonomy-job-manager-types.php';

			require_once APUSFINDUS_PLUGIN_DIR . 'inc/post-types/class-post-type-job_claim.php';

			add_action( 'wp_enqueue_scripts', array( $this, 'scripts' ) );
		}
		public function scripts() {
			wp_register_script( 'apusfindus-scripts', APUSFINDUS_PLUGIN_URL . 'assets/scripts.js', array( 'jquery' ), '', true );

			wp_localize_script( 'apusfindus-scripts', 'apusfindus_vars', array(
				'ajaxurl' => admin_url( 'admin-ajax.php' ),
			));
			wp_enqueue_script( 'apusfindus-scripts' );
		}
		/**
		 *
		 */
		public function load_textdomain() {
			// Set filter for ApusFindus's languages directory
			$lang_dir = dirname( plugin_basename( APUSFINDUS_PLUGIN_FILE ) ) . '/languages/';
			$lang_dir = apply_filters( 'apusfindus_languages_directory', $lang_dir );

			// Traditional WordPress plugin locale filter
			$locale = apply_filters( 'plugin_locale', get_locale(), 'apus-findus' );
			$mofile = sprintf( '%1$s-%2$s.mo', 'apus-findus', $locale );

			// Setup paths to current locale file
			$mofile_local  = $lang_dir . $mofile;
			$mofile_global = WP_LANG_DIR . '/apus-findus/' . $mofile;

			if ( file_exists( $mofile_global ) ) {
				// Look in global /wp-content/languages/apus-findus folder
				load_textdomain( 'apus-findus', $mofile_global );
			} elseif ( file_exists( $mofile_local ) ) {
				// Look in local /wp-content/plugins/apus-findus/languages/ folder
				load_textdomain( 'apus-findus', $mofile_local );
			} else {
				// Load the default language files
				load_plugin_textdomain( 'apus-find