WP Job Manager - Version 1.32.2

Version Description

  • Fix: Issue saving job types for job listings in WordPress admin after WordPress 5.1 update.
  • Fix: Add nonce checks on edit/submit forms for logged in users. Will require updates to templates/job-preview.php if overridden in theme. (Props to foobar7)
  • Fix: Escape JSON encoded strings.
  • Fix: Add additional sanitization for file attachment fields.
Download this release

Release Info

Developer jakeom
Plugin Icon 128x128 WP Job Manager
Version 1.32.2
Comparing to
See all releases

Code changes from version 1.32.1 to 1.32.2

changelog.txt CHANGED
@@ -1,3 +1,9 @@
 
 
 
 
 
 
1
  = 1.32.1 =
2
  * Fix: Adds compatibility with PHP 7.3
3
  * Fix: Restores original site search functionality.
1
+ = 1.32.2 =
2
+ * Fix: Issue saving job types for job listings in WordPress admin after WordPress 5.1 update.
3
+ * Fix: Add nonce checks on edit/submit forms for logged in users. Will require updates to `templates/job-preview.php` if overridden in theme. (Props to foobar7)
4
+ * Fix: Escape JSON encoded strings.
5
+ * Fix: Add additional sanitization for file attachment fields.
6
+
7
  = 1.32.1 =
8
  * Fix: Adds compatibility with PHP 7.3
9
  * Fix: Restores original site search functionality.
includes/admin/class-wp-job-manager-admin.php CHANGED
@@ -42,12 +42,8 @@ class WP_Job_Manager_Admin {
42
 
43
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-admin-notices.php';
44
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-cpt.php';
45
- if ( version_compare( $wp_version, '4.7.0', '<' ) ) {
46
- include_once dirname( __FILE__ ) . '/class-wp-job-manager-cpt-legacy.php';
47
- WP_Job_Manager_CPT_Legacy::instance();
48
- } else {
49
- WP_Job_Manager_CPT::instance();
50
- }
51
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-settings.php';
52
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-writepanels.php';
53
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-setup.php';
42
 
43
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-admin-notices.php';
44
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-cpt.php';
45
+ WP_Job_Manager_CPT::instance();
46
+
 
 
 
 
47
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-settings.php';
48
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-writepanels.php';
49
  include_once dirname( __FILE__ ) . '/class-wp-job-manager-setup.php';
includes/admin/class-wp-job-manager-cpt-legacy.php DELETED
@@ -1,91 +0,0 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly.
5
- }
6
-
7
- /**
8
- * Handles legacy actions and filters specific to the custom post type for Job Listings.
9
- *
10
- * @package wp-job-manager
11
- * @since 1.27.0
12
- */
13
- class WP_Job_Manager_CPT_Legacy extends WP_Job_Manager_CPT {
14
- /**
15
- * The single instance of the class.
16
- *
17
- * @var self
18
- * @since 1.27.0
19
- */
20
- private static $_instance = null;
21
-
22
- /**
23
- * Allows for accessing single instance of class. Class should only be constructed once per call.
24
- *
25
- * @since 1.27.0
26
- * @static
27
- * @return self Main instance.
28
- */
29
- public static function instance() {
30
- if ( is_null( self::$_instance ) ) {
31
- self::$_instance = new self();
32
- }
33
-
34
- return self::$_instance;
35
- }
36
-
37
- /**
38
- * Constructor.
39
- */
40
- public function __construct() {
41
- parent::__construct();
42
- add_action( 'admin_footer-edit.php', array( $this, 'add_bulk_actions_legacy' ) );
43
- add_action( 'load-edit.php', array( $this, 'do_bulk_actions_legacy' ) );
44
- remove_action( 'bulk_actions-edit-job_listing', array( $this, 'add_bulk_actions' ) );
45
- }
46
-
47
- /**
48
- * Adds bulk actions to drop downs on Job Listing admin page.
49
- */
50
- public function add_bulk_actions_legacy() {
51
- global $post_type, $wp_post_types;
52
-
53
- $bulk_actions = array();
54
- foreach ( $this->get_bulk_actions() as $key => $bulk_action ) {
55
- $bulk_actions[] = array(
56
- 'key' => $key,
57
- 'label' => sprintf( $bulk_action['label'], $wp_post_types['job_listing']->labels->name ),
58
- );
59
- }
60
-
61
- if ( 'job_listing' === $post_type ) {
62
- ?>
63
- <script type="text/javascript">
64
- jQuery(document).ready(function() {
65
- var actions = <?php echo wp_json_encode( $bulk_actions ); ?>;
66
- actions.forEach(function(el){
67
- jQuery( '<option>').val( el.key ).text(el.label).appendTo("select[name='action']");
68
- jQuery( '<option>').val( el.key ).text(el.label).appendTo("select[name='action2']");
69
- });
70
- });
71
- </script>
72
- <?php
73
- }
74
- }
75
-
76
- /**
77
- * Performs bulk actions on Job Listing admin page.
78
- */
79
- public function do_bulk_actions_legacy() {
80
- $wp_list_table = _get_list_table( 'WP_Posts_List_Table' );
81
- $action = $wp_list_table->current_action();
82
- $actions_handled = $this->get_bulk_actions();
83
- if ( isset( $actions_handled[ $action ] ) && isset( $actions_handled[ $action ]['handler'] ) ) {
84
- check_admin_referer( 'bulk-posts' );
85
- $post_ids = array_map( 'absint', array_filter( (array) $_GET['post'] ) );
86
- if ( ! empty( $post_ids ) ) {
87
- $this->do_bulk_actions( admin_url( 'edit.php?post_type=job_listing' ), $action, $post_ids );
88
- }
89
- }
90
- }
91
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/admin/class-wp-job-manager-cpt.php CHANGED
@@ -819,11 +819,11 @@ class WP_Job_Manager_CPT {
819
  <script type="text/javascript">
820
  jQuery( document ).ready( function($) {
821
  <?php if ( ! empty( $display ) ) : ?>
822
- jQuery( '#post-status-display' ).html( <?php echo wp_json_encode( $display ); ?> );
823
  <?php endif; ?>
824
 
825
  var select = jQuery( '#post-status-select' ).find( 'select' );
826
- jQuery( select ).html( <?php echo wp_json_encode( $options ); ?> );
827
  } );
828
  </script>
829
  <?php
819
  <script type="text/javascript">
820
  jQuery( document ).ready( function($) {
821
  <?php if ( ! empty( $display ) ) : ?>
822
+ jQuery( '#post-status-display' ).html( decodeURIComponent( '<?php echo rawurlencode( (string) wp_specialchars_decode( $display ) ); ?>' ) );
823
  <?php endif; ?>
824
 
825
  var select = jQuery( '#post-status-select' ).find( 'select' );
826
+ jQuery( select ).html( decodeURIComponent( '<?php echo rawurlencode( (string) wp_specialchars_decode( $options ) ); ?>' ) );
827
  } );
828
  </script>
829
  <?php
includes/class-wp-job-manager-post-types.php CHANGED
@@ -223,9 +223,9 @@ class WP_Job_Manager_Post_Types {
223
  apply_filters(
224
  'register_taxonomy_job_listing_type_args',
225
  array(
226
- 'hierarchical' => true,
227
- 'label' => $plural,
228
- 'labels' => array(
229
  'name' => $plural,
230
  'singular_name' => $singular,
231
  'menu_name' => ucwords( $plural ),
@@ -246,18 +246,19 @@ class WP_Job_Manager_Post_Types {
246
  // translators: Placeholder %s is the singular label of the job listing job type taxonomy type.
247
  'new_item_name' => sprintf( __( 'New %s Name', 'wp-job-manager' ), $singular ),
248
  ),
249
- 'show_ui' => true,
250
- 'show_tagcloud' => false,
251
- 'public' => $public,
252
- 'capabilities' => array(
253
  'manage_terms' => $admin_capability,
254
  'edit_terms' => $admin_capability,
255
  'delete_terms' => $admin_capability,
256
  'assign_terms' => $admin_capability,
257
  ),
258
- 'rewrite' => $rewrite,
259
- 'show_in_rest' => true,
260
- 'rest_base' => 'job-types',
 
261
  )
262
  )
263
  );
@@ -419,6 +420,20 @@ class WP_Job_Manager_Post_Types {
419
  }
420
  }
421
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
422
  /**
423
  * Toggles content filter on and off.
424
  *
@@ -972,7 +987,7 @@ class WP_Job_Manager_Post_Types {
972
  $structured_data = wpjm_get_job_listing_structured_data();
973
  if ( ! empty( $structured_data ) ) {
974
  echo '<!-- WP Job Manager Structured Data -->' . "\r\n";
975
- echo '<script type="application/ld+json">' . wp_json_encode( $structured_data ) . '</script>';
976
  }
977
  }
978
 
223
  apply_filters(
224
  'register_taxonomy_job_listing_type_args',
225
  array(
226
+ 'hierarchical' => true,
227
+ 'label' => $plural,
228
+ 'labels' => array(
229
  'name' => $plural,
230
  'singular_name' => $singular,
231
  'menu_name' => ucwords( $plural ),
246
  // translators: Placeholder %s is the singular label of the job listing job type taxonomy type.
247
  'new_item_name' => sprintf( __( 'New %s Name', 'wp-job-manager' ), $singular ),
248
  ),
249
+ 'show_ui' => true,
250
+ 'show_tagcloud' => false,
251
+ 'public' => $public,
252
+ 'capabilities' => array(
253
  'manage_terms' => $admin_capability,
254
  'edit_terms' => $admin_capability,
255
  'delete_terms' => $admin_capability,
256
  'assign_terms' => $admin_capability,
257
  ),
258
+ 'rewrite' => $rewrite,
259
+ 'show_in_rest' => true,
260
+ 'rest_base' => 'job-types',
261
+ 'meta_box_sanitize_cb' => array( $this, 'sanitize_job_type_meta_box_input' ),
262
  )
263
  )
264
  );
420
  }
421
  }
422
 
423
+ /**
424
+ * Sanitize job type meta box input data from WP admin.
425
+ *
426
+ * @param WP_Taxonomy $taxonomy Taxonomy being sterilized.
427
+ * @param mixed $input Raw term data from the 'tax_input' field.
428
+ * @return int[]|int
429
+ */
430
+ public function sanitize_job_type_meta_box_input( $taxonomy, $input ) {
431
+ if ( is_array( $input ) ) {
432
+ return array_map( 'intval', $input );
433
+ }
434
+ return intval( $input );
435
+ }
436
+
437
  /**
438
  * Toggles content filter on and off.
439
  *
987
  $structured_data = wpjm_get_job_listing_structured_data();
988
  if ( ! empty( $structured_data ) ) {
989
  echo '<!-- WP Job Manager Structured Data -->' . "\r\n";
990
+ echo '<script type="application/ld+json">' . wpjm_esc_json( wp_json_encode( $structured_data ), true ) . '</script>';
991
  }
992
  }
993
 
includes/forms/class-wp-job-manager-form-edit-job.php CHANGED
@@ -55,6 +55,8 @@ class WP_Job_Manager_Form_Edit_Job extends WP_Job_Manager_Form_Submit_Job {
55
  */
56
  public function __construct() {
57
  add_action( 'wp', array( $this, 'submit_handler' ) );
 
 
58
  $this->job_id = ! empty( $_REQUEST['job_id'] ) ? absint( $_REQUEST['job_id'] ) : 0;
59
 
60
  if ( ! job_manager_user_can_edit_job( $this->job_id ) ) {
@@ -158,6 +160,8 @@ class WP_Job_Manager_Form_Edit_Job extends WP_Job_Manager_Form_Submit_Job {
158
  return;
159
  }
160
 
 
 
161
  try {
162
 
163
  // Get posted values.
55
  */
56
  public function __construct() {
57
  add_action( 'wp', array( $this, 'submit_handler' ) );
58
+ add_action( 'submit_job_form_start', array( $this, 'output_submit_form_nonce_field' ) );
59
+
60
  $this->job_id = ! empty( $_REQUEST['job_id'] ) ? absint( $_REQUEST['job_id'] ) : 0;
61
 
62
  if ( ! job_manager_user_can_edit_job( $this->job_id ) ) {
160
  return;
161
  }
162
 
163
+ $this->check_submit_form_nonce_field();
164
+
165
  try {
166
 
167
  // Get posted values.
includes/forms/class-wp-job-manager-form-submit-job.php CHANGED
@@ -57,6 +57,9 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
57
  */
58
  public function __construct() {
59
  add_action( 'wp', array( $this, 'process' ) );
 
 
 
60
  if ( $this->use_recaptcha_field() ) {
61
  add_action( 'submit_job_form_end', array( $this, 'display_recaptcha_field' ) );
62
  add_action( 'submit_job_form_validate_fields', array( $this, 'validate_recaptcha_field' ) );
@@ -455,7 +458,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
455
  public function submit() {
456
  $this->init_fields();
457
 
458
- // Load data if neccessary.
459
  if ( $this->job_id ) {
460
  $job = get_post( $this->job_id );
461
  foreach ( $this->fields as $group_key => $group_fields ) {
@@ -538,6 +541,8 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
538
  return;
539
  }
540
 
 
 
541
  // Validate required.
542
  $validation_status = $this->validate_fields( $values );
543
  if ( is_wp_error( $validation_status ) ) {
@@ -707,6 +712,15 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
707
  return 0;
708
  }
709
 
 
 
 
 
 
 
 
 
 
710
  $attachment_url = str_replace( array( $upload_dir['baseurl'], WP_CONTENT_URL, site_url( '/' ) ), array( $upload_dir['basedir'], WP_CONTENT_DIR, ABSPATH ), $attachment_url );
711
  if ( empty( $attachment_url ) || ! is_string( $attachment_url ) ) {
712
  return 0;
@@ -850,6 +864,8 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
850
  return;
851
  }
852
 
 
 
853
  // Edit = show submit form again.
854
  if ( ! empty( $_POST['edit_job'] ) ) {
855
  $this->step --;
@@ -878,6 +894,52 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
878
  }
879
  }
880
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
881
  /**
882
  * Displays the final screen after a job listing has been submitted.
883
  */
57
  */
58
  public function __construct() {
59
  add_action( 'wp', array( $this, 'process' ) );
60
+ add_action( 'submit_job_form_start', array( $this, 'output_submit_form_nonce_field' ) );
61
+ add_action( 'preview_job_form_start', array( $this, 'output_preview_form_nonce_field' ) );
62
+
63
  if ( $this->use_recaptcha_field() ) {
64
  add_action( 'submit_job_form_end', array( $this, 'display_recaptcha_field' ) );
65
  add_action( 'submit_job_form_validate_fields', array( $this, 'validate_recaptcha_field' ) );
458
  public function submit() {
459
  $this->init_fields();
460
 
461
+ // Load data if necessary.
462
  if ( $this->job_id ) {
463
  $job = get_post( $this->job_id );
464
  foreach ( $this->fields as $group_key => $group_fields ) {
541
  return;
542
  }
543
 
544
+ $this->check_submit_form_nonce_field();
545
+
546
  // Validate required.
547
  $validation_status = $this->validate_fields( $values );
548
  if ( is_wp_error( $validation_status ) ) {
712
  return 0;
713
  }
714
 
715
+ $attachment_url_parts = parse_url( $attachment_url );
716
+
717
+ // Relative paths aren't allowed.
718
+ if ( false !== strpos( $attachment_url_parts['path'], '../' ) ) {
719
+ return 0;
720
+ }
721
+
722
+ $attachment_url = sprintf( '%s://%s%s', $attachment_url_parts['scheme'], $attachment_url_parts['host'], $attachment_url_parts['path'] );
723
+
724
  $attachment_url = str_replace( array( $upload_dir['baseurl'], WP_CONTENT_URL, site_url( '/' ) ), array( $upload_dir['basedir'], WP_CONTENT_DIR, ABSPATH ), $attachment_url );
725
  if ( empty( $attachment_url ) || ! is_string( $attachment_url ) ) {
726
  return 0;
864
  return;
865
  }
866
 
867
+ $this->check_preview_form_nonce_field();
868
+
869
  // Edit = show submit form again.
870
  if ( ! empty( $_POST['edit_job'] ) ) {
871
  $this->step --;
894
  }
895
  }
896
 
897
+ /**
898
+ * Output the nonce field on job submission form.
899
+ */
900
+ public function output_submit_form_nonce_field() {
901
+ if ( ! is_user_logged_in() ) {
902
+ return;
903
+ }
904
+ wp_nonce_field( 'submit-job-' . $this->job_id, '_wpjm_nonce' );
905
+ }
906
+
907
+ /**
908
+ * Check the nonce field on the submit form.
909
+ */
910
+ public function check_submit_form_nonce_field() {
911
+ if ( ! is_user_logged_in() ) {
912
+ return;
913
+ }
914
+ if ( empty( $_REQUEST['_wpjm_nonce'] ) || ! wp_verify_nonce( $_REQUEST['_wpjm_nonce'], 'submit-job-' . $this->job_id ) ) {
915
+ wp_nonce_ays( 'submit-job-' . $this->job_id );
916
+ die();
917
+ }
918
+ }
919
+
920
+ /**
921
+ * Output the nonce field on job preview form.
922
+ */
923
+ public function output_preview_form_nonce_field() {
924
+ if ( ! is_user_logged_in() ) {
925
+ return;
926
+ }
927
+ wp_nonce_field( 'preview-job-' . $this->job_id, '_wpjm_nonce' );
928
+ }
929
+
930
+ /**
931
+ * Check the nonce field on the preview form.
932
+ */
933
+ public function check_preview_form_nonce_field() {
934
+ if ( ! is_user_logged_in() ) {
935
+ return;
936
+ }
937
+ if ( empty( $_REQUEST['_wpjm_nonce'] ) || ! wp_verify_nonce( $_REQUEST['_wpjm_nonce'], 'preview-job-' . $this->job_id ) ) {
938
+ wp_nonce_ays( 'preview-job-' . $this->job_id );
939
+ die();
940
+ }
941
+ }
942
+
943
  /**
944
  * Displays the final screen after a job listing has been submitted.
945
  */
languages/wp-job-manager.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the GPL2+.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP Job Manager 1.32.1\n"
6
  "Report-Msgid-Bugs-To: https://github.com/Automattic/WP-Job-Manager/issues\n"
7
- "POT-Creation-Date: 2019-01-28 10:55:14+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -31,7 +31,7 @@ msgid "\"%s\" check failed. Please try again."
31
  msgstr ""
32
 
33
  #: includes/admin/class-wp-job-manager-addons.php:124
34
- #: includes/admin/class-wp-job-manager-admin.php:175
35
  #: includes/admin/views/html-admin-page-addons.php:2
36
  msgid "WP Job Manager Add-ons"
37
  msgstr ""
@@ -49,7 +49,7 @@ msgstr ""
49
  msgid "You don&#8217;t have permission to do this."
50
  msgstr ""
51
 
52
- #: includes/admin/class-wp-job-manager-admin.php:90
53
  #. translators: %s is the URL for the page where users can go to update
54
  #. WordPress.
55
  msgid ""
@@ -57,17 +57,17 @@ msgid ""
57
  "WordPress. <a href=\"%s\">Please update WordPress</a> to avoid issues."
58
  msgstr ""
59
 
60
- #: includes/admin/class-wp-job-manager-admin.php:102
61
  #. translators: Placeholder (%s) is the URL where users can go to update
62
  #. WordPress.
63
  msgid "<a href=\"%s\" style=\"color: red\">WordPress Update Required</a>"
64
  msgstr ""
65
 
66
- #: includes/admin/class-wp-job-manager-admin.php:172
67
  msgid "Settings"
68
  msgstr ""
69
 
70
- #: includes/admin/class-wp-job-manager-admin.php:175
71
  msgid "Add-ons"
72
  msgstr ""
73
 
@@ -216,7 +216,7 @@ msgstr ""
216
  #: includes/admin/class-wp-job-manager-cpt.php:474
217
  #: includes/admin/class-wp-job-manager-writepanels.php:57
218
  #: includes/class-wp-job-manager-email-notifications.php:234
219
- #: includes/forms/class-wp-job-manager-form-submit-job.php:184
220
  #: includes/widgets/class-wp-job-manager-widget-recent-jobs.php:40
221
  #: templates/job-filters.php:35 templates/job-filters.php:36
222
  msgid "Location"
@@ -278,7 +278,7 @@ msgid "View"
278
  msgstr ""
279
 
280
  #: includes/admin/class-wp-job-manager-cpt.php:624
281
- #: includes/class-wp-job-manager-post-types.php:316
282
  #: templates/job-dashboard.php:52 templates/job-dashboard.php:70
283
  msgid "Edit"
284
  msgstr ""
@@ -349,8 +349,8 @@ msgid ""
349
  msgstr ""
350
 
351
  #: includes/admin/class-wp-job-manager-settings.php:117
352
- #: includes/class-wp-job-manager-post-types.php:310
353
- #: includes/class-wp-job-manager-post-types.php:412
354
  msgid "Job Listings"
355
  msgstr ""
356
 
@@ -741,13 +741,13 @@ msgstr ""
741
  #: includes/admin/class-wp-job-manager-taxonomy-meta.php:78
742
  #: includes/admin/class-wp-job-manager-taxonomy-meta.php:101
743
  #: includes/admin/class-wp-job-manager-taxonomy-meta.php:120
744
- #: includes/class-wp-job-manager-post-types.php:270
745
  #: includes/rest-api/class-wp-job-manager-models-job-types-custom-fields.php:36
746
  msgid "Employment Type"
747
  msgstr ""
748
 
749
  #: includes/admin/class-wp-job-manager-writepanels.php:58
750
- #: includes/forms/class-wp-job-manager-form-submit-job.php:188
751
  msgid "e.g. \"London\""
752
  msgstr ""
753
 
@@ -1111,7 +1111,7 @@ msgid "WP Job Manager"
1111
  msgstr ""
1112
 
1113
  #: includes/class-wp-job-manager-data-exporter.php:52
1114
- #: includes/class-wp-job-manager-post-types.php:333
1115
  msgid "Company Logo"
1116
  msgstr ""
1117
 
@@ -1125,18 +1125,18 @@ msgstr ""
1125
 
1126
  #: includes/class-wp-job-manager-email-notifications.php:243
1127
  #: includes/class-wp-job-manager-post-types.php:205
1128
- #: includes/forms/class-wp-job-manager-form-submit-job.php:192
1129
  msgid "Job type"
1130
  msgstr ""
1131
 
1132
  #: includes/class-wp-job-manager-email-notifications.php:253
1133
  #: includes/class-wp-job-manager-post-types.php:141
1134
- #: includes/forms/class-wp-job-manager-form-submit-job.php:201
1135
  msgid "Job category"
1136
  msgstr ""
1137
 
1138
  #: includes/class-wp-job-manager-email-notifications.php:262
1139
- #: includes/forms/class-wp-job-manager-form-submit-job.php:226
1140
  msgid "Company name"
1141
  msgstr ""
1142
 
@@ -1191,7 +1191,7 @@ msgstr ""
1191
 
1192
  #: includes/class-wp-job-manager-post-types.php:170
1193
  #: includes/class-wp-job-manager-post-types.php:233
1194
- #: includes/class-wp-job-manager-post-types.php:326
1195
  #. translators: Placeholder %s is the plural label of the job listing category
1196
  #. taxonomy type.
1197
  #. translators: Placeholder %s is the plural label of the job listing job type
@@ -1203,7 +1203,7 @@ msgstr ""
1203
 
1204
  #: includes/class-wp-job-manager-post-types.php:172
1205
  #: includes/class-wp-job-manager-post-types.php:235
1206
- #: includes/class-wp-job-manager-post-types.php:312
1207
  #. translators: Placeholder %s is the plural label of the job listing category
1208
  #. taxonomy type.
1209
  #. translators: Placeholder %s is the plural label of the job listing job type
@@ -1215,7 +1215,7 @@ msgstr ""
1215
 
1216
  #: includes/class-wp-job-manager-post-types.php:174
1217
  #: includes/class-wp-job-manager-post-types.php:237
1218
- #: includes/class-wp-job-manager-post-types.php:332
1219
  #. translators: Placeholder %s is the singular label of the job listing
1220
  #. category taxonomy type.
1221
  #. translators: Placeholder %s is the singular label of the job listing job
@@ -1236,7 +1236,7 @@ msgstr ""
1236
 
1237
  #: includes/class-wp-job-manager-post-types.php:178
1238
  #: includes/class-wp-job-manager-post-types.php:241
1239
- #: includes/class-wp-job-manager-post-types.php:318
1240
  #. translators: Placeholder %s is the singular label of the job listing
1241
  #. category taxonomy type.
1242
  #. translators: Placeholder %s is the singular label of the job listing job
@@ -1277,75 +1277,75 @@ msgstr ""
1277
  msgid "Job types"
1278
  msgstr ""
1279
 
1280
- #: includes/class-wp-job-manager-post-types.php:279
1281
  msgid "Job"
1282
  msgstr ""
1283
 
1284
- #: includes/class-wp-job-manager-post-types.php:280
1285
  msgid "Jobs"
1286
  msgstr ""
1287
 
1288
- #: includes/class-wp-job-manager-post-types.php:313
1289
  msgid "Add New"
1290
  msgstr ""
1291
 
1292
- #: includes/class-wp-job-manager-post-types.php:315
1293
  #. translators: Placeholder %s is the singular label of the job listing post
1294
  #. type.
1295
  msgid "Add %s"
1296
  msgstr ""
1297
 
1298
- #: includes/class-wp-job-manager-post-types.php:320
1299
  #. translators: Placeholder %s is the singular label of the job listing post
1300
  #. type.
1301
  msgid "New %s"
1302
  msgstr ""
1303
 
1304
- #: includes/class-wp-job-manager-post-types.php:322
1305
- #: includes/class-wp-job-manager-post-types.php:324
1306
  #. translators: Placeholder %s is the singular label of the job listing post
1307
  #. type.
1308
  msgid "View %s"
1309
  msgstr ""
1310
 
1311
- #: includes/class-wp-job-manager-post-types.php:328
1312
  #. translators: Placeholder %s is the singular label of the job listing post
1313
  #. type.
1314
  msgid "No %s found"
1315
  msgstr ""
1316
 
1317
- #: includes/class-wp-job-manager-post-types.php:330
1318
  #. translators: Placeholder %s is the plural label of the job listing post
1319
  #. type.
1320
  msgid "No %s found in trash"
1321
  msgstr ""
1322
 
1323
- #: includes/class-wp-job-manager-post-types.php:334
1324
  msgid "Set company logo"
1325
  msgstr ""
1326
 
1327
- #: includes/class-wp-job-manager-post-types.php:335
1328
  msgid "Remove company logo"
1329
  msgstr ""
1330
 
1331
- #: includes/class-wp-job-manager-post-types.php:336
1332
  msgid "Use as company logo"
1333
  msgstr ""
1334
 
1335
- #: includes/class-wp-job-manager-post-types.php:339
1336
  #. translators: Placeholder %s is the plural label of the job listing post
1337
  #. type.
1338
  msgid "This is where you can create and manage %s."
1339
  msgstr ""
1340
 
1341
- #: includes/class-wp-job-manager-post-types.php:380
1342
  #. translators: Placeholder %s is the number of expired posts of this type.
1343
  msgid "Expired <span class=\"count\">(%s)</span>"
1344
  msgid_plural "Expired <span class=\"count\">(%s)</span>"
1345
  msgstr[0] ""
1346
  msgstr[1] ""
1347
 
1348
- #: includes/class-wp-job-manager-post-types.php:392
1349
  #. translators: Placeholder %s is the number of posts in a preview state.
1350
  msgid "Preview <span class=\"count\">(%s)</span>"
1351
  msgid_plural "Preview <span class=\"count\">(%s)</span>"
@@ -1487,141 +1487,141 @@ msgstr ""
1487
  msgid "days"
1488
  msgstr ""
1489
 
1490
- #: includes/forms/class-wp-job-manager-form-edit-job.php:97
1491
  msgid "Invalid listing"
1492
  msgstr ""
1493
 
1494
- #: includes/forms/class-wp-job-manager-form-edit-job.php:129
1495
  msgid "Save changes"
1496
  msgstr ""
1497
 
1498
- #: includes/forms/class-wp-job-manager-form-edit-job.php:132
1499
  msgid "Submit changes for approval"
1500
  msgstr ""
1501
 
1502
- #: includes/forms/class-wp-job-manager-form-edit-job.php:183
1503
  msgid "Your changes have been saved."
1504
  msgstr ""
1505
 
1506
- #: includes/forms/class-wp-job-manager-form-edit-job.php:189
1507
  msgid "View &rarr;"
1508
  msgstr ""
1509
 
1510
- #: includes/forms/class-wp-job-manager-form-edit-job.php:191
1511
  msgid ""
1512
  "Your changes have been submitted and your listing will be visible again "
1513
  "once approved."
1514
  msgstr ""
1515
 
1516
- #: includes/forms/class-wp-job-manager-form-submit-job.php:69
1517
  msgid "Submit Details"
1518
  msgstr ""
1519
 
1520
- #: includes/forms/class-wp-job-manager-form-submit-job.php:75
1521
- #: includes/forms/class-wp-job-manager-form-submit-job.php:519
1522
- #: templates/job-preview.php:22
1523
  msgid "Preview"
1524
  msgstr ""
1525
 
1526
- #: includes/forms/class-wp-job-manager-form-submit-job.php:81
1527
  msgid "Done"
1528
  msgstr ""
1529
 
1530
- #: includes/forms/class-wp-job-manager-form-submit-job.php:151
1531
  msgid "Application email"
1532
  msgstr ""
1533
 
1534
- #: includes/forms/class-wp-job-manager-form-submit-job.php:152
1535
  #: wp-job-manager-template.php:719
1536
  msgid "you@yourdomain.com"
1537
  msgstr ""
1538
 
1539
- #: includes/forms/class-wp-job-manager-form-submit-job.php:156
1540
  msgid "Application URL"
1541
  msgstr ""
1542
 
1543
- #: includes/forms/class-wp-job-manager-form-submit-job.php:157
1544
- #: includes/forms/class-wp-job-manager-form-submit-job.php:237
1545
  msgid "http://"
1546
  msgstr ""
1547
 
1548
- #: includes/forms/class-wp-job-manager-form-submit-job.php:161
1549
  msgid "Application email/URL"
1550
  msgstr ""
1551
 
1552
- #: includes/forms/class-wp-job-manager-form-submit-job.php:162
1553
  msgid "Enter an email address or website URL"
1554
  msgstr ""
1555
 
1556
- #: includes/forms/class-wp-job-manager-form-submit-job.php:177
1557
  msgid "Job Title"
1558
  msgstr ""
1559
 
1560
- #: includes/forms/class-wp-job-manager-form-submit-job.php:185
1561
  msgid "Leave this blank if the location is not important"
1562
  msgstr ""
1563
 
1564
- #: includes/forms/class-wp-job-manager-form-submit-job.php:195
1565
  msgid "Choose job type&hellip;"
1566
  msgstr ""
1567
 
1568
- #: includes/forms/class-wp-job-manager-form-submit-job.php:210
1569
  msgid "Description"
1570
  msgstr ""
1571
 
1572
- #: includes/forms/class-wp-job-manager-form-submit-job.php:229
1573
  msgid "Enter the name of the company"
1574
  msgstr ""
1575
 
1576
- #: includes/forms/class-wp-job-manager-form-submit-job.php:233
1577
  #: templates/content-single-job_listing-company.php:30
1578
  msgid "Website"
1579
  msgstr ""
1580
 
1581
- #: includes/forms/class-wp-job-manager-form-submit-job.php:241
1582
  msgid "Tagline"
1583
  msgstr ""
1584
 
1585
- #: includes/forms/class-wp-job-manager-form-submit-job.php:244
1586
  msgid "Briefly describe your company"
1587
  msgstr ""
1588
 
1589
- #: includes/forms/class-wp-job-manager-form-submit-job.php:249
1590
  msgid "Video"
1591
  msgstr ""
1592
 
1593
- #: includes/forms/class-wp-job-manager-form-submit-job.php:253
1594
  msgid "A link to a video about your company"
1595
  msgstr ""
1596
 
1597
- #: includes/forms/class-wp-job-manager-form-submit-job.php:257
1598
  msgid "Twitter username"
1599
  msgstr ""
1600
 
1601
- #: includes/forms/class-wp-job-manager-form-submit-job.php:260
1602
  msgid "@yourcompany"
1603
  msgstr ""
1604
 
1605
- #: includes/forms/class-wp-job-manager-form-submit-job.php:264
1606
  msgid "Logo"
1607
  msgstr ""
1608
 
1609
- #: includes/forms/class-wp-job-manager-form-submit-job.php:314
1610
  #. translators: Placeholder %s is the label for the required field.
1611
  msgid "%s is a required field"
1612
  msgstr ""
1613
 
1614
- #: includes/forms/class-wp-job-manager-form-submit-job.php:325
1615
  #. translators: Placeholder %s is the field label that is did not validate.
1616
  msgid "%s is invalid"
1617
  msgstr ""
1618
 
1619
- #: includes/forms/class-wp-job-manager-form-submit-job.php:342
1620
  msgid "Invalid attachment provided."
1621
  msgstr ""
1622
 
1623
- #: includes/forms/class-wp-job-manager-form-submit-job.php:360
1624
- #: wp-job-manager-functions.php:1277
1625
  #. translators: Placeholder %1$s is field label; %2$s is the file mime type;
1626
  #. %3$s is the allowed mime-types.
1627
  #. translators: %1$s is the file field label; %2$s is the file type; %3$s is
@@ -1629,44 +1629,44 @@ msgstr ""
1629
  msgid "\"%1$s\" (filetype %2$s) needs to be one of the following file types: %3$s"
1630
  msgstr ""
1631
 
1632
- #: includes/forms/class-wp-job-manager-form-submit-job.php:375
1633
  msgid "Please enter a valid application email address"
1634
  msgstr ""
1635
 
1636
- #: includes/forms/class-wp-job-manager-form-submit-job.php:384
1637
  msgid "Please enter a valid application URL"
1638
  msgstr ""
1639
 
1640
- #: includes/forms/class-wp-job-manager-form-submit-job.php:394
1641
  msgid "Please enter a valid application email address or URL"
1642
  msgstr ""
1643
 
1644
- #: includes/forms/class-wp-job-manager-form-submit-job.php:554
1645
  msgid "Please enter a username."
1646
  msgstr ""
1647
 
1648
- #: includes/forms/class-wp-job-manager-form-submit-job.php:558
1649
  msgid "Please enter a password."
1650
  msgstr ""
1651
 
1652
- #: includes/forms/class-wp-job-manager-form-submit-job.php:562
1653
  msgid "Please enter your email address."
1654
  msgstr ""
1655
 
1656
- #: includes/forms/class-wp-job-manager-form-submit-job.php:568
1657
  msgid "Passwords must match."
1658
  msgstr ""
1659
 
1660
- #: includes/forms/class-wp-job-manager-form-submit-job.php:574
1661
  #. translators: Placeholder %s is the password hint.
1662
  msgid "Invalid Password: %s"
1663
  msgstr ""
1664
 
1665
- #: includes/forms/class-wp-job-manager-form-submit-job.php:576
1666
  msgid "Password is not valid."
1667
  msgstr ""
1668
 
1669
- #: includes/forms/class-wp-job-manager-form-submit-job.php:599
1670
  msgid "You must be signed in to post a new listing."
1671
  msgstr ""
1672
 
@@ -1994,12 +1994,12 @@ msgid "Maximum file size: %s."
1994
  msgstr ""
1995
 
1996
  #: templates/form-fields/multiselect-field.php:20
1997
- #: wp-job-manager-functions.php:1060
1998
  msgid "No results match"
1999
  msgstr ""
2000
 
2001
  #: templates/form-fields/multiselect-field.php:20
2002
- #: wp-job-manager-functions.php:1061
2003
  msgid "Select Some Options"
2004
  msgstr ""
2005
 
@@ -2076,11 +2076,11 @@ msgid ""
2076
  "must be enabled in order to view listings."
2077
  msgstr ""
2078
 
2079
- #: templates/job-preview.php:20
2080
  msgid "Submit Listing"
2081
  msgstr ""
2082
 
2083
- #: templates/job-preview.php:21
2084
  msgid "Edit listing"
2085
  msgstr ""
2086
 
@@ -2124,47 +2124,47 @@ msgstr ""
2124
  msgid "This email is already registered, please choose another one."
2125
  msgstr ""
2126
 
2127
- #: wp-job-manager-functions.php:866
2128
  msgid "Full Time"
2129
  msgstr ""
2130
 
2131
- #: wp-job-manager-functions.php:867
2132
  msgid "Part Time"
2133
  msgstr ""
2134
 
2135
- #: wp-job-manager-functions.php:868
2136
  msgid "Contractor"
2137
  msgstr ""
2138
 
2139
- #: wp-job-manager-functions.php:869
2140
  msgid "Temporary"
2141
  msgstr ""
2142
 
2143
- #: wp-job-manager-functions.php:870
2144
  msgid "Intern"
2145
  msgstr ""
2146
 
2147
- #: wp-job-manager-functions.php:871
2148
  msgid "Volunteer"
2149
  msgstr ""
2150
 
2151
- #: wp-job-manager-functions.php:872
2152
  msgid "Per Diem"
2153
  msgstr ""
2154
 
2155
- #: wp-job-manager-functions.php:873
2156
  msgid "Other"
2157
  msgstr ""
2158
 
2159
- #: wp-job-manager-functions.php:940
2160
  msgid "Passwords must be at least 8 characters long."
2161
  msgstr ""
2162
 
2163
- #: wp-job-manager-functions.php:1059
2164
  msgid "Choose a category&hellip;"
2165
  msgstr ""
2166
 
2167
- #: wp-job-manager-functions.php:1280
2168
  #. translators: %s is the list of allowed file types.
2169
  msgid "Uploaded files need to be one of the following file types: %s"
2170
  msgstr ""
@@ -2255,38 +2255,38 @@ msgstr ""
2255
  msgid "Automattic"
2256
  msgstr ""
2257
 
2258
- #: includes/admin/class-wp-job-manager-admin.php:141
2259
  msgctxt "user selection"
2260
  msgid "No matches found"
2261
  msgstr ""
2262
 
2263
- #: includes/admin/class-wp-job-manager-admin.php:142
2264
  msgctxt "user selection"
2265
  msgid "Loading failed"
2266
  msgstr ""
2267
 
2268
- #: includes/admin/class-wp-job-manager-admin.php:143
2269
  msgctxt "user selection"
2270
  msgid "Please enter 1 or more characters"
2271
  msgstr ""
2272
 
2273
- #: includes/admin/class-wp-job-manager-admin.php:144
2274
  msgctxt "user selection"
2275
  msgid "Please enter %qty% or more characters"
2276
  msgstr ""
2277
 
2278
- #: includes/admin/class-wp-job-manager-admin.php:145
2279
  msgctxt "user selection"
2280
  msgid "Loading more results&hellip;"
2281
  msgstr ""
2282
 
2283
- #: includes/admin/class-wp-job-manager-admin.php:146
2284
  msgctxt "user selection"
2285
  msgid "Searching&hellip;"
2286
  msgstr ""
2287
 
2288
- #: includes/admin/class-wp-job-manager-admin.php:159
2289
- #: includes/forms/class-wp-job-manager-form-submit-job.php:432
2290
  #. translators: jQuery date format, see
2291
  #. http:api.jqueryui.com/datepicker/#utility-formatDate
2292
  msgctxt "Date format for jQuery datepicker."
@@ -2294,19 +2294,19 @@ msgid "yy-mm-dd"
2294
  msgstr ""
2295
 
2296
  #: includes/admin/class-wp-job-manager-permalink-settings.php:104
2297
- #: includes/class-wp-job-manager-post-types.php:823
2298
  msgctxt "Job permalink - resave permalinks after changing this"
2299
  msgid "job"
2300
  msgstr ""
2301
 
2302
  #: includes/admin/class-wp-job-manager-permalink-settings.php:113
2303
- #: includes/class-wp-job-manager-post-types.php:824
2304
  msgctxt "Job category slug - resave permalinks after changing this"
2305
  msgid "job-category"
2306
  msgstr ""
2307
 
2308
  #: includes/admin/class-wp-job-manager-permalink-settings.php:122
2309
- #: includes/class-wp-job-manager-post-types.php:825
2310
  msgctxt "Job type slug - resave permalinks after changing this"
2311
  msgid "job-type"
2312
  msgstr ""
@@ -2326,13 +2326,13 @@ msgctxt "Default page title (wizard)"
2326
  msgid "Jobs"
2327
  msgstr ""
2328
 
2329
- #: includes/class-wp-job-manager-post-types.php:373
2330
  #: wp-job-manager-functions.php:320
2331
  msgctxt "post status"
2332
  msgid "Expired"
2333
  msgstr ""
2334
 
2335
- #: includes/class-wp-job-manager-post-types.php:386
2336
  #: wp-job-manager-functions.php:321
2337
  msgctxt "post status"
2338
  msgid "Preview"
@@ -2358,7 +2358,7 @@ msgctxt "post status"
2358
  msgid "Active"
2359
  msgstr ""
2360
 
2361
- #: includes/class-wp-job-manager-post-types.php:807
2362
  msgctxt "Post type archive slug - resave permalinks after changing this"
2363
  msgid "jobs"
2364
  msgstr ""
2
  # This file is distributed under the GPL2+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP Job Manager 1.32.2\n"
6
  "Report-Msgid-Bugs-To: https://github.com/Automattic/WP-Job-Manager/issues\n"
7
+ "POT-Creation-Date: 2019-02-25 14:23:26+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
31
  msgstr ""
32
 
33
  #: includes/admin/class-wp-job-manager-addons.php:124
34
+ #: includes/admin/class-wp-job-manager-admin.php:171
35
  #: includes/admin/views/html-admin-page-addons.php:2
36
  msgid "WP Job Manager Add-ons"
37
  msgstr ""
49
  msgid "You don&#8217;t have permission to do this."
50
  msgstr ""
51
 
52
+ #: includes/admin/class-wp-job-manager-admin.php:86
53
  #. translators: %s is the URL for the page where users can go to update
54
  #. WordPress.
55
  msgid ""
57
  "WordPress. <a href=\"%s\">Please update WordPress</a> to avoid issues."
58
  msgstr ""
59
 
60
+ #: includes/admin/class-wp-job-manager-admin.php:98
61
  #. translators: Placeholder (%s) is the URL where users can go to update
62
  #. WordPress.
63
  msgid "<a href=\"%s\" style=\"color: red\">WordPress Update Required</a>"
64
  msgstr ""
65
 
66
+ #: includes/admin/class-wp-job-manager-admin.php:168
67
  msgid "Settings"
68
  msgstr ""
69
 
70
+ #: includes/admin/class-wp-job-manager-admin.php:171
71
  msgid "Add-ons"
72
  msgstr ""
73
 
216
  #: includes/admin/class-wp-job-manager-cpt.php:474
217
  #: includes/admin/class-wp-job-manager-writepanels.php:57
218
  #: includes/class-wp-job-manager-email-notifications.php:234
219
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:187
220
  #: includes/widgets/class-wp-job-manager-widget-recent-jobs.php:40
221
  #: templates/job-filters.php:35 templates/job-filters.php:36
222
  msgid "Location"
278
  msgstr ""
279
 
280
  #: includes/admin/class-wp-job-manager-cpt.php:624
281
+ #: includes/class-wp-job-manager-post-types.php:317
282
  #: templates/job-dashboard.php:52 templates/job-dashboard.php:70
283
  msgid "Edit"
284
  msgstr ""
349
  msgstr ""
350
 
351
  #: includes/admin/class-wp-job-manager-settings.php:117
352
+ #: includes/class-wp-job-manager-post-types.php:311
353
+ #: includes/class-wp-job-manager-post-types.php:413
354
  msgid "Job Listings"
355
  msgstr ""
356
 
741
  #: includes/admin/class-wp-job-manager-taxonomy-meta.php:78
742
  #: includes/admin/class-wp-job-manager-taxonomy-meta.php:101
743
  #: includes/admin/class-wp-job-manager-taxonomy-meta.php:120
744
+ #: includes/class-wp-job-manager-post-types.php:271
745
  #: includes/rest-api/class-wp-job-manager-models-job-types-custom-fields.php:36
746
  msgid "Employment Type"
747
  msgstr ""
748
 
749
  #: includes/admin/class-wp-job-manager-writepanels.php:58
750
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:191
751
  msgid "e.g. \"London\""
752
  msgstr ""
753
 
1111
  msgstr ""
1112
 
1113
  #: includes/class-wp-job-manager-data-exporter.php:52
1114
+ #: includes/class-wp-job-manager-post-types.php:334
1115
  msgid "Company Logo"
1116
  msgstr ""
1117
 
1125
 
1126
  #: includes/class-wp-job-manager-email-notifications.php:243
1127
  #: includes/class-wp-job-manager-post-types.php:205
1128
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:195
1129
  msgid "Job type"
1130
  msgstr ""
1131
 
1132
  #: includes/class-wp-job-manager-email-notifications.php:253
1133
  #: includes/class-wp-job-manager-post-types.php:141
1134
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:204
1135
  msgid "Job category"
1136
  msgstr ""
1137
 
1138
  #: includes/class-wp-job-manager-email-notifications.php:262
1139
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:229
1140
  msgid "Company name"
1141
  msgstr ""
1142
 
1191
 
1192
  #: includes/class-wp-job-manager-post-types.php:170
1193
  #: includes/class-wp-job-manager-post-types.php:233
1194
+ #: includes/class-wp-job-manager-post-types.php:327
1195
  #. translators: Placeholder %s is the plural label of the job listing category
1196
  #. taxonomy type.
1197
  #. translators: Placeholder %s is the plural label of the job listing job type
1203
 
1204
  #: includes/class-wp-job-manager-post-types.php:172
1205
  #: includes/class-wp-job-manager-post-types.php:235
1206
+ #: includes/class-wp-job-manager-post-types.php:313
1207
  #. translators: Placeholder %s is the plural label of the job listing category
1208
  #. taxonomy type.
1209
  #. translators: Placeholder %s is the plural label of the job listing job type
1215
 
1216
  #: includes/class-wp-job-manager-post-types.php:174
1217
  #: includes/class-wp-job-manager-post-types.php:237
1218
+ #: includes/class-wp-job-manager-post-types.php:333
1219
  #. translators: Placeholder %s is the singular label of the job listing
1220
  #. category taxonomy type.
1221
  #. translators: Placeholder %s is the singular label of the job listing job
1236
 
1237
  #: includes/class-wp-job-manager-post-types.php:178
1238
  #: includes/class-wp-job-manager-post-types.php:241
1239
+ #: includes/class-wp-job-manager-post-types.php:319
1240
  #. translators: Placeholder %s is the singular label of the job listing
1241
  #. category taxonomy type.
1242
  #. translators: Placeholder %s is the singular label of the job listing job
1277
  msgid "Job types"
1278
  msgstr ""
1279
 
1280
+ #: includes/class-wp-job-manager-post-types.php:280
1281
  msgid "Job"
1282
  msgstr ""
1283
 
1284
+ #: includes/class-wp-job-manager-post-types.php:281
1285
  msgid "Jobs"
1286
  msgstr ""
1287
 
1288
+ #: includes/class-wp-job-manager-post-types.php:314
1289
  msgid "Add New"
1290
  msgstr ""
1291
 
1292
+ #: includes/class-wp-job-manager-post-types.php:316
1293
  #. translators: Placeholder %s is the singular label of the job listing post
1294
  #. type.
1295
  msgid "Add %s"
1296
  msgstr ""
1297
 
1298
+ #: includes/class-wp-job-manager-post-types.php:321
1299
  #. translators: Placeholder %s is the singular label of the job listing post
1300
  #. type.
1301
  msgid "New %s"
1302
  msgstr ""
1303
 
1304
+ #: includes/class-wp-job-manager-post-types.php:323
1305
+ #: includes/class-wp-job-manager-post-types.php:325
1306
  #. translators: Placeholder %s is the singular label of the job listing post
1307
  #. type.
1308
  msgid "View %s"
1309
  msgstr ""
1310
 
1311
+ #: includes/class-wp-job-manager-post-types.php:329
1312
  #. translators: Placeholder %s is the singular label of the job listing post
1313
  #. type.
1314
  msgid "No %s found"
1315
  msgstr ""
1316
 
1317
+ #: includes/class-wp-job-manager-post-types.php:331
1318
  #. translators: Placeholder %s is the plural label of the job listing post
1319
  #. type.
1320
  msgid "No %s found in trash"
1321
  msgstr ""
1322
 
1323
+ #: includes/class-wp-job-manager-post-types.php:335
1324
  msgid "Set company logo"
1325
  msgstr ""
1326
 
1327
+ #: includes/class-wp-job-manager-post-types.php:336
1328
  msgid "Remove company logo"
1329
  msgstr ""
1330
 
1331
+ #: includes/class-wp-job-manager-post-types.php:337
1332
  msgid "Use as company logo"
1333
  msgstr ""
1334
 
1335
+ #: includes/class-wp-job-manager-post-types.php:340
1336
  #. translators: Placeholder %s is the plural label of the job listing post
1337
  #. type.
1338
  msgid "This is where you can create and manage %s."
1339
  msgstr ""
1340
 
1341
+ #: includes/class-wp-job-manager-post-types.php:381
1342
  #. translators: Placeholder %s is the number of expired posts of this type.
1343
  msgid "Expired <span class=\"count\">(%s)</span>"
1344
  msgid_plural "Expired <span class=\"count\">(%s)</span>"
1345
  msgstr[0] ""
1346
  msgstr[1] ""
1347
 
1348
+ #: includes/class-wp-job-manager-post-types.php:393
1349
  #. translators: Placeholder %s is the number of posts in a preview state.
1350
  msgid "Preview <span class=\"count\">(%s)</span>"
1351
  msgid_plural "Preview <span class=\"count\">(%s)</span>"
1487
  msgid "days"
1488
  msgstr ""
1489
 
1490
+ #: includes/forms/class-wp-job-manager-form-edit-job.php:99
1491
  msgid "Invalid listing"
1492
  msgstr ""
1493
 
1494
+ #: includes/forms/class-wp-job-manager-form-edit-job.php:131
1495
  msgid "Save changes"
1496
  msgstr ""
1497
 
1498
+ #: includes/forms/class-wp-job-manager-form-edit-job.php:134
1499
  msgid "Submit changes for approval"
1500
  msgstr ""
1501
 
1502
+ #: includes/forms/class-wp-job-manager-form-edit-job.php:187
1503
  msgid "Your changes have been saved."
1504
  msgstr ""
1505
 
1506
+ #: includes/forms/class-wp-job-manager-form-edit-job.php:193
1507
  msgid "View &rarr;"
1508
  msgstr ""
1509
 
1510
+ #: includes/forms/class-wp-job-manager-form-edit-job.php:195
1511
  msgid ""
1512
  "Your changes have been submitted and your listing will be visible again "
1513
  "once approved."
1514
  msgstr ""
1515
 
1516
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:72
1517
  msgid "Submit Details"
1518
  msgstr ""
1519
 
1520
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:78
1521
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:522
1522
+ #: templates/job-preview.php:30
1523
  msgid "Preview"
1524
  msgstr ""
1525
 
1526
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:84
1527
  msgid "Done"
1528
  msgstr ""
1529
 
1530
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:154
1531
  msgid "Application email"
1532
  msgstr ""
1533
 
1534
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:155
1535
  #: wp-job-manager-template.php:719
1536
  msgid "you@yourdomain.com"
1537
  msgstr ""
1538
 
1539
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:159
1540
  msgid "Application URL"
1541
  msgstr ""
1542
 
1543
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:160
1544
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:240
1545
  msgid "http://"
1546
  msgstr ""
1547
 
1548
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:164
1549
  msgid "Application email/URL"
1550
  msgstr ""
1551
 
1552
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:165
1553
  msgid "Enter an email address or website URL"
1554
  msgstr ""
1555
 
1556
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:180
1557
  msgid "Job Title"
1558
  msgstr ""
1559
 
1560
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:188
1561
  msgid "Leave this blank if the location is not important"
1562
  msgstr ""
1563
 
1564
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:198
1565
  msgid "Choose job type&hellip;"
1566
  msgstr ""
1567
 
1568
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:213
1569
  msgid "Description"
1570
  msgstr ""
1571
 
1572
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:232
1573
  msgid "Enter the name of the company"
1574
  msgstr ""
1575
 
1576
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:236
1577
  #: templates/content-single-job_listing-company.php:30
1578
  msgid "Website"
1579
  msgstr ""
1580
 
1581
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:244
1582
  msgid "Tagline"
1583
  msgstr ""
1584
 
1585
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:247
1586
  msgid "Briefly describe your company"
1587
  msgstr ""
1588
 
1589
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:252
1590
  msgid "Video"
1591
  msgstr ""
1592
 
1593
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:256
1594
  msgid "A link to a video about your company"
1595
  msgstr ""
1596
 
1597
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:260
1598
  msgid "Twitter username"
1599
  msgstr ""
1600
 
1601
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:263
1602
  msgid "@yourcompany"
1603
  msgstr ""
1604
 
1605
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:267
1606
  msgid "Logo"
1607
  msgstr ""
1608
 
1609
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:317
1610
  #. translators: Placeholder %s is the label for the required field.
1611
  msgid "%s is a required field"
1612
  msgstr ""
1613
 
1614
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:328
1615
  #. translators: Placeholder %s is the field label that is did not validate.
1616
  msgid "%s is invalid"
1617
  msgstr ""
1618
 
1619
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:345
1620
  msgid "Invalid attachment provided."
1621
  msgstr ""
1622
 
1623
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:363
1624
+ #: wp-job-manager-functions.php:1291
1625
  #. translators: Placeholder %1$s is field label; %2$s is the file mime type;
1626
  #. %3$s is the allowed mime-types.
1627
  #. translators: %1$s is the file field label; %2$s is the file type; %3$s is
1629
  msgid "\"%1$s\" (filetype %2$s) needs to be one of the following file types: %3$s"
1630
  msgstr ""
1631
 
1632
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:378
1633
  msgid "Please enter a valid application email address"
1634
  msgstr ""
1635
 
1636
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:387
1637
  msgid "Please enter a valid application URL"
1638
  msgstr ""
1639
 
1640
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:397
1641
  msgid "Please enter a valid application email address or URL"
1642
  msgstr ""
1643
 
1644
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:559
1645
  msgid "Please enter a username."
1646
  msgstr ""
1647
 
1648
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:563
1649
  msgid "Please enter a password."
1650
  msgstr ""
1651
 
1652
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:567
1653
  msgid "Please enter your email address."
1654
  msgstr ""
1655
 
1656
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:573
1657
  msgid "Passwords must match."
1658
  msgstr ""
1659
 
1660
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:579
1661
  #. translators: Placeholder %s is the password hint.
1662
  msgid "Invalid Password: %s"
1663
  msgstr ""
1664
 
1665
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:581
1666
  msgid "Password is not valid."
1667
  msgstr ""
1668
 
1669
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:604
1670
  msgid "You must be signed in to post a new listing."
1671
  msgstr ""
1672
 
1994
  msgstr ""
1995
 
1996
  #: templates/form-fields/multiselect-field.php:20
1997
+ #: wp-job-manager-functions.php:1074
1998
  msgid "No results match"
1999
  msgstr ""
2000
 
2001
  #: templates/form-fields/multiselect-field.php:20
2002
+ #: wp-job-manager-functions.php:1075
2003
  msgid "Select Some Options"
2004
  msgstr ""
2005
 
2076
  "must be enabled in order to view listings."
2077
  msgstr ""
2078
 
2079
+ #: templates/job-preview.php:28
2080
  msgid "Submit Listing"
2081
  msgstr ""
2082
 
2083
+ #: templates/job-preview.php:29
2084
  msgid "Edit listing"
2085
  msgstr ""
2086
 
2124
  msgid "This email is already registered, please choose another one."
2125
  msgstr ""
2126
 
2127
+ #: wp-job-manager-functions.php:880
2128
  msgid "Full Time"
2129
  msgstr ""
2130
 
2131
+ #: wp-job-manager-functions.php:881
2132
  msgid "Part Time"
2133
  msgstr ""
2134
 
2135
+ #: wp-job-manager-functions.php:882
2136
  msgid "Contractor"
2137
  msgstr ""
2138
 
2139
+ #: wp-job-manager-functions.php:883
2140
  msgid "Temporary"
2141
  msgstr ""
2142
 
2143
+ #: wp-job-manager-functions.php:884
2144
  msgid "Intern"
2145
  msgstr ""
2146
 
2147
+ #: wp-job-manager-functions.php:885
2148
  msgid "Volunteer"
2149
  msgstr ""
2150
 
2151
+ #: wp-job-manager-functions.php:886
2152
  msgid "Per Diem"
2153
  msgstr ""
2154
 
2155
+ #: wp-job-manager-functions.php:887
2156
  msgid "Other"
2157
  msgstr ""
2158
 
2159
+ #: wp-job-manager-functions.php:954
2160
  msgid "Passwords must be at least 8 characters long."
2161
  msgstr ""
2162
 
2163
+ #: wp-job-manager-functions.php:1073
2164
  msgid "Choose a category&hellip;"
2165
  msgstr ""
2166
 
2167
+ #: wp-job-manager-functions.php:1294
2168
  #. translators: %s is the list of allowed file types.
2169
  msgid "Uploaded files need to be one of the following file types: %s"
2170
  msgstr ""
2255
  msgid "Automattic"
2256
  msgstr ""
2257
 
2258
+ #: includes/admin/class-wp-job-manager-admin.php:137
2259
  msgctxt "user selection"
2260
  msgid "No matches found"
2261
  msgstr ""
2262
 
2263
+ #: includes/admin/class-wp-job-manager-admin.php:138
2264
  msgctxt "user selection"
2265
  msgid "Loading failed"
2266
  msgstr ""
2267
 
2268
+ #: includes/admin/class-wp-job-manager-admin.php:139
2269
  msgctxt "user selection"
2270
  msgid "Please enter 1 or more characters"
2271
  msgstr ""
2272
 
2273
+ #: includes/admin/class-wp-job-manager-admin.php:140
2274
  msgctxt "user selection"
2275
  msgid "Please enter %qty% or more characters"
2276
  msgstr ""
2277
 
2278
+ #: includes/admin/class-wp-job-manager-admin.php:141
2279
  msgctxt "user selection"
2280
  msgid "Loading more results&hellip;"
2281
  msgstr ""
2282
 
2283
+ #: includes/admin/class-wp-job-manager-admin.php:142
2284
  msgctxt "user selection"
2285
  msgid "Searching&hellip;"
2286
  msgstr ""
2287
 
2288
+ #: includes/admin/class-wp-job-manager-admin.php:155
2289
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:435
2290
  #. translators: jQuery date format, see
2291
  #. http:api.jqueryui.com/datepicker/#utility-formatDate
2292
  msgctxt "Date format for jQuery datepicker."
2294
  msgstr ""
2295
 
2296
  #: includes/admin/class-wp-job-manager-permalink-settings.php:104
2297
+ #: includes/class-wp-job-manager-post-types.php:838
2298
  msgctxt "Job permalink - resave permalinks after changing this"
2299
  msgid "job"
2300
  msgstr ""
2301
 
2302
  #: includes/admin/class-wp-job-manager-permalink-settings.php:113
2303
+ #: includes/class-wp-job-manager-post-types.php:839
2304
  msgctxt "Job category slug - resave permalinks after changing this"
2305
  msgid "job-category"
2306
  msgstr ""
2307
 
2308
  #: includes/admin/class-wp-job-manager-permalink-settings.php:122
2309
+ #: includes/class-wp-job-manager-post-types.php:840
2310
  msgctxt "Job type slug - resave permalinks after changing this"
2311
  msgid "job-type"
2312
  msgstr ""
2326
  msgid "Jobs"
2327
  msgstr ""
2328
 
2329
+ #: includes/class-wp-job-manager-post-types.php:374
2330
  #: wp-job-manager-functions.php:320
2331
  msgctxt "post status"
2332
  msgid "Expired"
2333
  msgstr ""
2334
 
2335
+ #: includes/class-wp-job-manager-post-types.php:387
2336
  #: wp-job-manager-functions.php:321
2337
  msgctxt "post status"
2338
  msgid "Preview"
2358
  msgid "Active"
2359
  msgstr ""
2360
 
2361
+ #: includes/class-wp-job-manager-post-types.php:822
2362
  msgctxt "Post type archive slug - resave permalinks after changing this"
2363
  msgid "jobs"
2364
  msgstr ""
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: mikejolley, automattic, adamkheckler, alexsanford1, annezazu, cena, chaselivingston, csonnek, davor.altman, donnapep, donncha, drawmyface, erania-pinnera, jacobshere, jakeom, jeherve, jenhooks, jgs, jonryan, kraftbj, lamdayap, lschuyler, macmanx, nancythanki, orangesareorange, rachelsquirrel, ryancowles, richardmtl, scarstocea
3
  Tags: job manager, job listing, job board, job management, job lists, job list, job, jobs, company, hiring, employment, employer, employees, candidate, freelance, internship, job listings, positions, board, application, hiring, listing, manager, recruiting, recruitment, talent
4
  Requires at least: 4.7.0
5
- Tested up to: 5.0
6
- Stable tag: 1.32.1
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -152,6 +152,12 @@ It then creates a database based on the parameters passed to it.
152
 
153
  == Changelog ==
154
 
 
 
 
 
 
 
155
  = 1.32.1 =
156
  * Fix: Adds compatibility with PHP 7.3
157
  * Fix: Restores original site search functionality.
2
  Contributors: mikejolley, automattic, adamkheckler, alexsanford1, annezazu, cena, chaselivingston, csonnek, davor.altman, donnapep, donncha, drawmyface, erania-pinnera, jacobshere, jakeom, jeherve, jenhooks, jgs, jonryan, kraftbj, lamdayap, lschuyler, macmanx, nancythanki, orangesareorange, rachelsquirrel, ryancowles, richardmtl, scarstocea
3
  Tags: job manager, job listing, job board, job management, job lists, job list, job, jobs, company, hiring, employment, employer, employees, candidate, freelance, internship, job listings, positions, board, application, hiring, listing, manager, recruiting, recruitment, talent
4
  Requires at least: 4.7.0
5
+ Tested up to: 5.1
6
+ Stable tag: 1.32.2
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
152
 
153
  == Changelog ==
154
 
155
+ = 1.32.2 =
156
+ * Fix: Issue saving job types for job listings in WordPress admin after WordPress 5.1 update.
157
+ * Fix: Add nonce checks on edit/submit forms for logged in users. Will require updates to `templates/job-preview.php` if overridden in theme. (Props to foobar7)
158
+ * Fix: Escape JSON encoded strings.
159
+ * Fix: Add additional sanitization for file attachment fields.
160
+
161
  = 1.32.1 =
162
  * Fix: Adds compatibility with PHP 7.3
163
  * Fix: Restores original site search functionality.
templates/job-preview.php CHANGED
@@ -8,7 +8,7 @@
8
  * @author Automattic
9
  * @package WP Job Manager
10
  * @category Template
11
- * @version 1.31.1
12
  */
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
@@ -16,6 +16,14 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  }
17
  ?>
18
  <form method="post" id="job_preview" action="<?php echo esc_url( $form->get_action() ); ?>">
 
 
 
 
 
 
 
 
19
  <div class="job_listing_preview_title">
20
  <input type="submit" name="continue" id="job_preview_submit_button" class="button job-manager-button-submit-listing" value="<?php echo esc_attr( apply_filters( 'submit_job_step_preview_submit_text', __( 'Submit Listing', 'wp-job-manager' ) ) ); ?>" />
21
  <input type="submit" name="edit_job" class="button job-manager-button-edit-listing" value="<?php esc_attr_e( 'Edit listing', 'wp-job-manager' ); ?>" />
@@ -30,4 +38,12 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  <input type="hidden" name="step" value="<?php echo esc_attr( $form->get_step() ); ?>" />
31
  <input type="hidden" name="job_manager_form" value="<?php echo esc_attr( $form->get_form_name() ); ?>" />
32
  </div>
 
 
 
 
 
 
 
 
33
  </form>
8
  * @author Automattic
9
  * @package WP Job Manager
10
  * @category Template
11
+ * @version 1.32.2
12
  */
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
16
  }
17
  ?>
18
  <form method="post" id="job_preview" action="<?php echo esc_url( $form->get_action() ); ?>">
19
+ <?php
20
+ /**
21
+ * Fires at the top of the preview job form.
22
+ *
23
+ * @since 1.32.2
24
+ */
25
+ do_action( 'preview_job_form_start' );
26
+ ?>
27
  <div class="job_listing_preview_title">
28
  <input type="submit" name="continue" id="job_preview_submit_button" class="button job-manager-button-submit-listing" value="<?php echo esc_attr( apply_filters( 'submit_job_step_preview_submit_text', __( 'Submit Listing', 'wp-job-manager' ) ) ); ?>" />
29
  <input type="submit" name="edit_job" class="button job-manager-button-edit-listing" value="<?php esc_attr_e( 'Edit listing', 'wp-job-manager' ); ?>" />
38
  <input type="hidden" name="step" value="<?php echo esc_attr( $form->get_step() ); ?>" />
39
  <input type="hidden" name="job_manager_form" value="<?php echo esc_attr( $form->get_form_name() ); ?>" />
40
  </div>
41
+ <?php
42
+ /**
43
+ * Fires at the bottom of the preview job form.
44
+ *
45
+ * @since 1.32.2
46
+ */
47
+ do_action( 'preview_job_form_end' );
48
+ ?>
49
  </form>
wp-job-manager-functions.php CHANGED
@@ -623,13 +623,27 @@ if ( ! function_exists( 'wp_job_manager_create_account' ) ) :
623
  do_action( 'wpjm_notify_new_user', $user_id, $args['password'], $new_user );
624
 
625
  // Login.
 
626
  wp_set_auth_cookie( $user_id, true, is_ssl() );
627
  wp_set_current_user( $user_id );
 
628
 
629
  return true;
630
  }
631
  endif;
632
 
 
 
 
 
 
 
 
 
 
 
 
 
633
  /**
634
  * Checks if the user can upload a file via the Ajax endpoint.
635
  *
@@ -1438,3 +1452,20 @@ function job_manager_duplicate_listing( $post_id ) {
1438
  return $new_post_id;
1439
  }
1440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
623
  do_action( 'wpjm_notify_new_user', $user_id, $args['password'], $new_user );
624
 
625
  // Login.
626
+ add_action( 'set_logged_in_cookie', '_wpjm_update_global_login_cookie' );
627
  wp_set_auth_cookie( $user_id, true, is_ssl() );
628
  wp_set_current_user( $user_id );
629
+ remove_action( 'set_logged_in_cookie', '_wpjm_update_global_login_cookie' );
630
 
631
  return true;
632
  }
633
  endif;
634
 
635
+ /**
636
+ * Allows for immediate access to the logged in cookie after mid-request login.
637
+ *
638
+ * @since 1.32.2
639
+ * @access private
640
+ *
641
+ * @param string $logged_in_cookie Logged in cookie.
642
+ */
643
+ function _wpjm_update_global_login_cookie( $logged_in_cookie ) {
644
+ $_COOKIE[ LOGGED_IN_COOKIE ] = $logged_in_cookie;
645
+ }
646
+
647
  /**
648
  * Checks if the user can upload a file via the Ajax endpoint.
649
  *
1452
  return $new_post_id;
1453
  }
1454
 
1455
+ /**
1456
+ * Escape JSON for use on HTML or attribute text nodes.
1457
+ *
1458
+ * @since 1.32.2
1459
+ *
1460
+ * @param string $json JSON to escape.
1461
+ * @param bool $html True if escaping for HTML text node, false for attributes. Determines how quotes are handled.
1462
+ * @return string Escaped JSON.
1463
+ */
1464
+ function wpjm_esc_json( $json, $html = false ) {
1465
+ return _wp_specialchars(
1466
+ $json,
1467
+ $html ? ENT_NOQUOTES : ENT_QUOTES, // Escape quotes in attribute nodes only.
1468
+ 'UTF-8', // json_encode() outputs UTF-8 (really just ASCII), not the blog's charset.
1469
+ true // Double escape entities: `&amp;` -> `&amp;amp;`.
1470
+ );
1471
+ }
wp-job-manager.php CHANGED
@@ -3,11 +3,11 @@
3
  * Plugin Name: WP Job Manager
4
  * Plugin URI: https://wpjobmanager.com/
5
  * Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
6
- * Version: 1.32.1
7
  * Author: Automattic
8
  * Author URI: https://wpjobmanager.com/
9
  * Requires at least: 4.7.0
10
- * Tested up to: 5.0
11
  * Text Domain: wp-job-manager
12
  * Domain Path: /languages/
13
  * License: GPL2+
@@ -63,7 +63,7 @@ class WP_Job_Manager {
63
  */
64
  public function __construct() {
65
  // Define constants.
66
- define( 'JOB_MANAGER_VERSION', '1.32.1' );
67
  define( 'JOB_MANAGER_MINIMUM_WP_VERSION', '4.7.0' );
68
  define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
69
  define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
3
  * Plugin Name: WP Job Manager
4
  * Plugin URI: https://wpjobmanager.com/
5
  * Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
6
+ * Version: 1.32.2
7
  * Author: Automattic
8
  * Author URI: https://wpjobmanager.com/
9
  * Requires at least: 4.7.0
10
+ * Tested up to: 5.1
11
  * Text Domain: wp-job-manager
12
  * Domain Path: /languages/
13
  * License: GPL2+
63
  */
64
  public function __construct() {
65
  // Define constants.
66
+ define( 'JOB_MANAGER_VERSION', '1.32.2' );
67
  define( 'JOB_MANAGER_MINIMUM_WP_VERSION', '4.7.0' );
68
  define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
69
  define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );