PluginProbe
WP Job Manager / 1.7.0
WP Job Manager v1.7.0
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.1.3 1.10.0 1.11.0 1.11.1 1.12.0 1.12.1 1.13.0 1.14.0 1.15.0 All 154 releases
wp-job-manager / wp-job-manager.php
wp-job-manager.php
107 lines 4.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: WP Job Manager
4 Plugin URI: http://mikejolley.com/projects/wp-job-manager/
5 Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
6 Version: 1.7.0
7 Author: Mike Jolley
8 Author URI: http://mikejolley.com
9 Requires at least: 3.8
10 Tested up to: 3.8
11
12 Copyright: 2013 Mike Jolley
13 License: GNU General Public License v3.0
14 License URI: http://www.gnu.org/licenses/gpl-3.0.html
15 */
16
17 // Exit if accessed directly
18 if ( ! defined( 'ABSPATH' ) )
19 exit;
20
21 /**
22 * WP_Job_Manager class.
23 */
24 class WP_Job_Manager {
25
26 /**
27 * __construct function.
28 */
29 public function __construct() {
30 // Define constants
31 define( 'JOB_MANAGER_VERSION', '1.7.0' );
32 define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
33 define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
34
35 // Includes
36 include( 'wp-job-manager-functions.php' );
37 include( 'wp-job-manager-template.php' );
38 include( 'includes/class-wp-job-manager-post-types.php' );
39 include( 'includes/class-wp-job-manager-ajax.php' );
40 include( 'includes/class-wp-job-manager-shortcodes.php' );
41 include( 'includes/class-wp-job-manager-api.php' );
42 include( 'includes/class-wp-job-manager-forms.php' );
43 include( 'includes/class-wp-job-manager-geocode.php' );
44
45 if ( is_admin() )
46 include( 'includes/admin/class-wp-job-manager-admin.php' );
47
48 // Init classes
49 $this->forms = new WP_Job_Manager_Forms();
50 $this->post_types = new WP_Job_Manager_Post_Types();
51
52 // Activation - works with symlinks
53 register_activation_hook( basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ), array( $this->post_types, 'register_post_types' ), 10 );
54 register_activation_hook( basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ), create_function( "", "include_once( 'includes/class-wp-job-manager-install.php' );" ), 10 );
55 register_activation_hook( basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ), 'flush_rewrite_rules', 15 );
56
57 // Actions
58 add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );
59 add_action( 'switch_theme', array( $this->post_types, 'register_post_types' ), 10 );
60 add_action( 'switch_theme', 'flush_rewrite_rules', 15 );
61 add_action( 'widgets_init', create_function( "", "include_once( 'includes/class-wp-job-manager-widgets.php' );" ) );
62 add_action( 'wp_enqueue_scripts', array( $this, 'frontend_scripts' ) );
63 add_action( 'admin_init', array( $this, 'updater' ) );
64 }
65
66 /**
67 * Handle Updates
68 */
69 public function updater() {
70 if ( version_compare( JOB_MANAGER_VERSION, get_option( 'wp_job_manager_version' ), '>' ) )
71 include_once( 'includes/class-wp-job-manager-install.php' );
72 }
73
74 /**
75 * Localisation
76 *
77 * @access private
78 * @return void
79 */
80 public function load_plugin_textdomain() {
81 load_plugin_textdomain( 'job_manager', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
82 }
83
84 /**
85 * frontend_scripts function.
86 *
87 * @access public
88 * @return void
89 */
90 public function frontend_scripts() {
91 wp_register_script( 'wp-job-manager-ajax-filters', JOB_MANAGER_PLUGIN_URL . '/assets/js/ajax-filters.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
92 wp_register_script( 'wp-job-manager-job-dashboard', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-dashboard.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
93 wp_register_script( 'wp-job-manager-job-application', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-application.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
94 wp_register_script( 'wp-job-manager-job-submission', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-submission.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
95
96 wp_localize_script( 'wp-job-manager-ajax-filters', 'job_manager_ajax_filters', array(
97 'ajax_url' => admin_url('admin-ajax.php')
98 ) );
99 wp_localize_script( 'wp-job-manager-job-dashboard', 'job_manager_job_dashboard', array(
100 'i18n_confirm_delete' => __( 'Are you sure you want to delete this job?', 'job_manager' )
101 ) );
102
103 wp_enqueue_style( 'wp-job-manager-frontend', JOB_MANAGER_PLUGIN_URL . '/assets/css/frontend.css' );
104 }
105 }
106
107 $GLOBALS['job_manager'] = new WP_Job_Manager();