PluginProbe ʕ •ᴥ•ʔ
WP Job Manager / 2.4.7
WP Job Manager v2.4.7
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 1.16.0 1.16.1 1.17.0 1.18.0 1.19.0 1.2.0 1.20.0 1.20.1 1.21.0 1.21.1 1.21.2 1.21.3 1.21.4 1.22.0 1.22.1 1.22.2 1.22.3 1.23.0 1.23.1 1.23.10 1.23.11 1.23.12 1.23.13 1.23.2 1.23.3 1.23.4 1.23.5 1.23.6 1.23.7 1.23.8 1.23.9 1.24.0 1.24.0.1 1.25.0 1.25.0.1 1.25.1 1.25.1.1 1.25.2 1.25.2.1 1.25.3 1.25.3.1 1.26.0 1.26.0.1 1.26.1 1.26.1.1 1.26.2 1.26.2.1 1.27.0 1.27.0.1 1.28.0 1.28.0.1 1.29.0 1.29.0.1 1.29.1 1.29.1.1 1.29.2 1.29.2.1 1.29.3 1.29.3.1 1.3.0 1.3.1 1.30.0 1.30.0.1 1.30.1 1.30.1.1 1.30.2 1.30.2.1 1.31.0 1.31.0.1 1.31.1 1.31.1.1 1.31.2 1.31.3 1.32.0 1.32.1 1.32.2 1.32.3 1.33.0 1.33.1 1.33.2 1.33.3 1.33.4 1.33.5 1.34.0 1.34.1 1.34.2 1.34.3 1.34.4 1.34.5 1.35.0 1.35.1 1.35.2 1.35.3 1.36.0 1.36.1 1.36.2 1.37.0 1.38.0 1.38.1 1.39.0 1.4.0 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.7.1 1.7.3 1.8.0 1.8.1 1.8.2 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.1.0 2.1.1 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.4.1
wp-job-manager / includes / class-wp-job-manager-api.php
wp-job-manager / includes Last commit date
3rd-party 4 days ago abstracts 3 months ago admin 2 weeks ago emails 2 weeks ago forms 4 days ago helper 3 months ago promoted-jobs 4 days ago ui 2 weeks ago widgets 2 weeks ago class-access-token.php 2 years ago class-dev-tools.php 2 years ago class-guest-session.php 2 years ago class-guest-user.php 2 years ago class-job-dashboard-shortcode.php 6 months ago class-job-listing-stats.php 2 years ago class-job-overlay.php 2 years ago class-stats-dashboard.php 2 years ago class-stats-script.php 3 months ago class-stats.php 3 months ago class-wp-job-manager-ajax.php 2 months ago class-wp-job-manager-api.php 6 years ago class-wp-job-manager-blocks.php 2 weeks ago class-wp-job-manager-cache-helper.php 3 months ago class-wp-job-manager-category-walker.php 6 years ago class-wp-job-manager-com-api.php 2 years ago class-wp-job-manager-data-cleaner.php 2 years ago class-wp-job-manager-data-exporter.php 3 months ago class-wp-job-manager-dependency-checker.php 2 years ago class-wp-job-manager-email-notifications.php 2 years ago class-wp-job-manager-forms.php 5 years ago class-wp-job-manager-geocode.php 2 weeks ago class-wp-job-manager-install.php 2 years ago class-wp-job-manager-post-types.php 4 days ago class-wp-job-manager-recaptcha.php 6 months ago class-wp-job-manager-rest-api.php 2 months ago class-wp-job-manager-shortcodes.php 2 weeks ago class-wp-job-manager-usage-tracking-data.php 2 years ago class-wp-job-manager-usage-tracking.php 2 years ago class-wp-job-manager-widget.php 2 weeks ago class-wp-job-manager.php 3 months ago trait-singleton.php 2 years ago
class-wp-job-manager-api.php
108 lines
1 <?php
2 /**
3 * File containing the class WP_Job_Manager_API.
4 *
5 * @package wp-job-manager
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 /**
13 * Handles API requests for WP Job Manager.
14 *
15 * @package wp-job-manager
16 * @since 1.0.0
17 */
18 class WP_Job_Manager_API {
19
20 /**
21 * The single instance of the class.
22 *
23 * @var self
24 * @since 1.26.0
25 */
26 private static $instance = null;
27
28 /**
29 * Allows for accessing single instance of class. Class should only be constructed once per call.
30 *
31 * @since 1.26.0
32 * @static
33 * @return self Main instance.
34 */
35 public static function instance() {
36 if ( is_null( self::$instance ) ) {
37 self::$instance = new self();
38 }
39 return self::$instance;
40 }
41
42 /**
43 * Constructor.
44 */
45 public function __construct() {
46 add_filter( 'query_vars', [ $this, 'add_query_vars' ], 0 );
47 add_action( 'parse_request', [ $this, 'api_requests' ], 0 );
48 }
49
50 /**
51 * Adds query vars used in API calls.
52 *
53 * @param array $vars the query vars.
54 * @return array
55 */
56 public function add_query_vars( $vars ) {
57 $vars[] = 'job-manager-api';
58 return $vars;
59 }
60
61 /**
62 * Adds endpoint for API requests.
63 */
64 public function add_endpoint() {
65 add_rewrite_endpoint( 'job-manager-api', EP_ALL );
66 }
67
68 /**
69 * API request - Trigger any API requests (handy for third party plugins/gateways).
70 */
71 public function api_requests() {
72 global $wp;
73
74 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- If necessary/possible, nonce should be checked by API handler.
75 if ( ! empty( $_GET['job-manager-api'] ) ) {
76 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- If necessary/possible, nonce should be checked by API handler.
77 $wp->query_vars['job-manager-api'] = sanitize_text_field( wp_unslash( $_GET['job-manager-api'] ) );
78 }
79
80 if ( ! empty( $wp->query_vars['job-manager-api'] ) ) {
81 // Buffer, we won't want any output here.
82 ob_start();
83
84 // Get API trigger.
85 $api = strtolower( esc_attr( $wp->query_vars['job-manager-api'] ) );
86
87 // Load class if exists.
88 if ( has_action( 'job_manager_api_' . $api ) && class_exists( $api ) ) {
89 $api_class = new $api();
90 }
91
92 /**
93 * Performs an API action.
94 * The dynamic part of the action, $api, is the API action.
95 *
96 * @since 1.0.0
97 */
98 do_action( 'job_manager_api_' . $api );
99
100 // Done, clear buffer and exit.
101 ob_end_clean();
102 wp_die();
103 }
104 }
105 }
106
107 WP_Job_Manager_API::instance();
108