PluginProbe
WP Job Manager / 1.5.2
WP Job Manager v1.5.2
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
106 lines 4.1 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.5.2
7 Author: Mike Jolley
8 Author URI: http://mikejolley.com
9 Requires at least: 3.5
10 Tested up to: 3.5
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.5.2' );
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
44 if ( is_admin() )
45 include( 'includes/admin/class-wp-job-manager-admin.php' );
46
47 // Init classes
48 $this->forms = new WP_Job_Manager_Forms();
49 $this->post_types = new WP_Job_Manager_Post_Types();
50
51 // Activation - works with symlinks
52 register_activation_hook( basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ), array( $this->post_types, 'register_post_types' ), 10 );
53 register_activation_hook( basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ), create_function( "", "include_once( 'includes/class-wp-job-manager-install.php' );" ), 10 );
54 register_activation_hook( basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ), 'flush_rewrite_rules', 15 );
55
56 // Actions
57 add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );
58 add_action( 'switch_theme', array( $this->post_types, 'register_post_types' ), 10 );
59 add_action( 'switch_theme', 'flush_rewrite_rules', 15 );
60 add_action( 'widgets_init', create_function( "", "include_once( 'includes/class-wp-job-manager-widgets.php' );" ) );
61 add_action( 'wp_enqueue_scripts', array( $this, 'frontend_scripts' ) );
62 add_action( 'admin_init', array( $this, 'updater' ) );
63 }
64
65 /**
66 * Handle Updates
67 */
68 public function updater() {
69 if ( version_compare( JOB_MANAGER_VERSION, get_option( 'wp_job_manager_version' ), '>' ) )
70 include_once( 'includes/class-wp-job-manager-install.php' );
71 }
72
73 /**
74 * Localisation
75 *
76 * @access private
77 * @return void
78 */
79 public function load_plugin_textdomain() {
80 load_plugin_textdomain( 'job_manager', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
81 }
82
83 /**
84 * frontend_scripts function.
85 *
86 * @access public
87 * @return void
88 */
89 public function frontend_scripts() {
90 wp_register_script( 'wp-job-manager-ajax-filters', JOB_MANAGER_PLUGIN_URL . '/assets/js/ajax-filters.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
91 wp_register_script( 'wp-job-manager-job-dashboard', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-dashboard.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
92 wp_register_script( 'wp-job-manager-job-application', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-application.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
93 wp_register_script( 'wp-job-manager-job-submission', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-submission.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
94
95 wp_localize_script( 'wp-job-manager-ajax-filters', 'job_manager_ajax_filters', array(
96 'ajax_url' => admin_url('admin-ajax.php')
97 ) );
98 wp_localize_script( 'wp-job-manager-job-dashboard', 'job_manager_job_dashboard', array(
99 'i18n_confirm_delete' => __( 'Are you sure you want to delete this job?', 'job_manager' )
100 ) );
101
102 wp_enqueue_style( 'wp-job-manager-frontend', JOB_MANAGER_PLUGIN_URL . '/assets/css/frontend.css' );
103 }
104 }
105
106 $GLOBALS['job_manager'] = new WP_Job_Manager();